假设我在Mongoose中运行这个查询:

    Room.find({}, (err,docs) => {
    
    }).sort({date:-1}); 

这行不通!


当前回答

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
});

其他回答

我是这样做的:

Data.find( { $query: { user: req.user }, $orderby: { dateAdded: -1 } } function ( results ) {
    ...
})

这将首先显示最新的内容。

您也可以根据_id字段进行排序。例如,要获取最近的记录,你可以这样做,

const mostRecentRecord = await db.collection.findOne().sort({ _id: -1 });

它也快得多,因为我更愿意打赌,您的日期字段没有索引。

ES6解决方案与Koa。

  async recent() {
    data = await ReadSchema.find({}, { sort: 'created_at' });
    ctx.body = data;
  }
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
});

看看这是否有助于>如何排序猫鼬?

也请阅读这个> http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order