假设我在Mongoose中运行这个查询:
Room.find({}, (err,docs) => {
}).sort({date:-1});
这行不通!
假设我在Mongoose中运行这个查询:
Room.find({}, (err,docs) => {
}).sort({date:-1});
这行不通!
当前回答
看看这是否有助于>如何排序猫鼬?
也请阅读这个> http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order
其他回答
ES6解决方案与Koa。
async recent() {
data = await ReadSchema.find({}, { sort: 'created_at' });
ctx.body = data;
}
今天使用Mongoose 3.5(.2)处理这个问题,没有一个答案能帮助我解决这个问题。下面的代码片段实现了这个目的
Post.find().sort('-posted').find(function (err, posts) {
// user posts array
});
你可以发送find()所需的任何标准参数(例如where子句和return字段),但不能发送回调。如果没有回调,它将返回一个Query对象,您可以对其进行链式排序()。您需要再次调用find()(包含或不包含更多参数—出于效率原因不需要任何参数),这将允许您在回调中获得结果集。
看看这是否有助于>如何排序猫鼬?
也请阅读这个> http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order
Post.find().sort({date:-1}, function(err, posts){
});
应该也可以
编辑:
如果你得到sort()只接受1个参数的错误,你也可以尝试使用这个:
Post.find({}, {
'_id': 0, // select keys to return here
}, {sort: '-date'}, function(err, posts) {
// use it here
});
这里所有的答案实际上都是正确的,但是我写我的答案是为了说明,如果你在模型中没有一个名为“date”的字段,或者你在创建模型时在选项中传递了选项:timestamps: true,那么有时写“-date”或date: -1将不起作用。如果你正在使用timestamps: true,那么你需要输入:sort({createdAt: -1}),这样就可以工作了。