如何根据mongoDB中的函数结果对查询结果进行排序?在SQL中我有以下代码:
select field1,
field2,
myFunction(field1, 0)
from myTable
where field4 = 5
order by 3
答案 0 :(得分:0)
我在下面创建了这个函数(在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;
}