假设我在Mongoose中运行这个查询:
Room.find({}, (err,docs) => {
}).sort({date:-1});
这行不通!
假设我在Mongoose中运行这个查询:
Room.find({}, (err,docs) => {
}).sort({date:-1});
这行不通!
当前回答
您也可以根据_id字段进行排序。例如,要获取最近的记录,你可以这样做,
const mostRecentRecord = await db.collection.findOne().sort({ _id: -1 });
它也快得多,因为我更愿意打赌,您的日期字段没有索引。
其他回答
看看这是否有助于>如何排序猫鼬?
也请阅读这个> http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order
我是这样做的:
Data.find( { $query: { user: req.user }, $orderby: { dateAdded: -1 } } function ( results ) {
...
})
这将首先显示最新的内容。
这个适合我。
`Post.find().sort({postedon: -1}).find(function (err, sortedposts){
if (err)
return res.status(500).send({ message: "No Posts." });
res.status(200).send({sortedposts : sortedposts});
});`
正确答案是:
Blah.find({}).sort({date: -1}).execFind(function(err,docs){
});
今天使用Mongoose 3.5(.2)处理这个问题,没有一个答案能帮助我解决这个问题。下面的代码片段实现了这个目的
Post.find().sort('-posted').find(function (err, posts) {
// user posts array
});
你可以发送find()所需的任何标准参数(例如where子句和return字段),但不能发送回调。如果没有回调,它将返回一个Query对象,您可以对其进行链式排序()。您需要再次调用find()(包含或不包含更多参数—出于效率原因不需要任何参数),这将允许您在回调中获得结果集。