Mongodb按最后记录到第一个的顺序查找

mongodb find in order of last record to first

本文关键字:顺序 查找 第一个 最后 记录 Mongodb      更新时间:2023-09-26

我的项目将大量的历史数据文档插入到历史集合中,因为它们从来没有被修改过——顺序是正确的(因为没有更新),而是向后进行检索。

我正在使用这样的东西来检索20条记录的页面中的数据。

var page = 2;
hStats_collection.find({name:name},{_id:0, name:0}).limit(20).skip(page*20).toArray( function(err, doc) {
});

看完之后,我的眼睛干了,$sort不是很好,似乎反转上面代码检索顺序的最好方法是通过文档中的时间戳元素添加索引,其中我已经有一个有用的项目称为started (seconds since epoc),需要为它创建一个索引。

http://docs.mongodb.org/manual/tutorial/create-an-index/文档说我可以这样做:

hStats_collection.createIndex( { started: -1 } )

我如何改变上面的.find()代码来查找name并引用started索引,以便结果从最新返回到最老(而不是自然的find()从最老到最新)

hStats_collection.find({name:name},{_id:0, name:0}) .sort({ started:-1 }) .limit(20).