【发布时间】:2016-02-28 18:02:15
【问题描述】:
我正在使用 Sails.js 和 MongoDB 开发一个 Web 应用程序。我必须查询数据库并通过复杂的函数对结果进行排序。其实并不复杂,但比按键排序更难。在这种情况下,我有这个集合
用户
{ user : "Luis", key1 : 23, key2 : 29 };
{ user : "Juan", key1 : 53, key2 : 22 };
{ user : "Paco", key1 : 26, key2 : 42 };
我正在尝试按key1 - key2 获取结果顺序
我已尝试使用 Mongo complex sorting? 帐户进行不同的查询,但这对我没有帮助。
User.find({}).sort(function(doc1,doc2){return doc1.a . doc2.b })
.exec(function(err,users){console.log(users)});
我已经检查过这种方式在 Robomongo 控制台(MongoDB GUI 客户端)中运行正常。
db.eval(function() {
return db.scratch.find().toArray().sort(function(doc1, doc2) {
return doc1.a - doc2.a
})
});
但我无法使用 Sails 和水线 orm 来实现这一点。如有必要,我会使用本机连接,但我不知道该怎么做。
请帮帮我,非常感谢!
【问题讨论】:
-
您的意思是按
key1和key2之间的差异排序吗? -
是的,我的意思是按
key1和key2之间的差异排序
标签: node.js mongodb sails.js mongodb-query aggregation-framework