0
我的項目中插入了大量的歷史數據文件放到一個歷史的收集,因爲他們決不會被修改的順序是正確的(因爲沒有更新的推移),但向後檢索。MongoDB中找到最後一個記錄的順序第一
我使用這樣的事情在20個記錄檢索數據。
var page = 2;
hStats_collection.find({name:name},{_id:0, name:0}).limit(20).skip(page*20).toArray(function(err, doc) {
});
讀我的眼睛乾燥後,$排序是沒有好,而且它似乎顛倒順序,上面的代碼檢索是通過時間戳元素的文檔中添加一個索引,最好的辦法,其中我已經有一個名爲started
(自epoc以來的秒)的有用的項目,並且需要爲它創建一個索引。
http://docs.mongodb.org/manual/tutorial/create-an-index/ 文檔說我可以這樣做:
hStats_collection.createIndex({ started: -1 })
如何更改我的.find()以上代碼找到name
並引用started
索引,以便結果回來最新到最舊(作爲對自然發現()最舊到最新)。
確實需要的createIndex的?或者只是工作? – ChrisAdmin
這並不需要索引,但如果沒有索引,可能會很慢。試着做一個沒有索引的查詢,查看查詢時間是否適合你。如果需要超過幾秒鐘,請考慮創建一個索引。 – zlumer
啊我看到它工作得很好,我是順便把文檔說是有32MB的限制混淆,這一限制只適用如果沒有的「開始」指數 - 錯過了位。謝謝! – ChrisAdmin