我的项目将大量历史数据文档插入到历史记录集合中,因为它们永远不会被修改,订单是正确的(因为没有更新),但是后退以便检索。
我正在使用这样的东西来检索20条记录的页面中的数据。
var page = 2;
hStats_collection.find({name:name},{_id:0, name:0}).limit(20).skip(page*20).toArray( function(err, doc) {
});
看完我的眼睛后,$ sort是不行的,看起来逆转上述代码检索顺序的最好方法是通过文档中的时间戳元素添加索引,我已经有了名为started
的有用项(自epoc以来的秒数),需要为其创建索引。
http://docs.mongodb.org/manual/tutorial/create-an-index/ 文档说我可以做类似的事情:
hStats_collection.createIndex( { started: -1 } )
如何更改上面的.find()代码以查找name
并引用started
索引,以便结果最新回到最旧(因为最新到最新的自然查找() )。
答案 0 :(得分:1)
hStats_collection.find({name:name},{_id:0, name:0})
的 .sort({ started:-1 })
强> .limit(20).