0
如何根据mongoDB中的函数结果对查询结果进行排序?在SQL我有以下代码:如何根据mongoDB中的函数结果对查询结果进行排序
select field1,
field2,
myFunction(field1, 0)
from myTable
where field4 = 5
order by 3
如何根据mongoDB中的函数结果对查询结果进行排序?在SQL我有以下代码:如何根据mongoDB中的函数结果对查询结果进行排序
select field1,
field2,
myFunction(field1, 0)
from myTable
where field4 = 5
order by 3
我创建了下面的函数(内部mongodb)像我的SQL查询替代。可能不是很理想,但解决了我的问题:
function() {
var list = Array();
// myColletion is myTable equivalent
db.myCollection.find({ field4: 5}).forEach(
function (vet) {
list.push([ vet.field1,
vet.field2,
myFunction(vet.field1, 0)])
}
);
list.sort(function(a,b){return ((a[1] < b[1]) ? -1 : ((a[1] > b[1]) ? 1 : 0));});
return list;
}
为了3,你能解释一下原因3 – sas
订购由myFunction的 – Rocha
返回的结果。这是目前不可能内的MongoDB本身 – Sammaye