2011-12-28 122 views
0

每個文檔有一個日期屬性更新爲新的MongoDate()每當文檔被修改。如何獲取最後N個修改後的MongoDB文檔?

如何獲得N個最後修改的文檔?但不是因爲某些具體的日期。只有N個最新日期的文件。也許像排序只能作爲遊標方法,但查詢參數是否存在?

回答

6

在一個項目中我的工作,我使用這樣提取的最後五個入口,按相反的順序(最近到以上)

for e in coll.find().sort("data_ins", -1).limit(5): 
    # do something 

其中data_ins是一個時間戳,但我想它的工作在每一個排序的領域。

+0

謝謝。這將工作一段時間。但是,將所有集合的文檔放入大集合的遊標中可以嗎? – Vitaly 2011-12-28 10:17:31

+1

使用說明http://www.mongodb.org/display/DOCS/Explain檢查mongo是否使用data_ins上的索引。那麼應該可以快速獲得N個最後的條目。 – milan 2011-12-28 10:21:24

+1

@Vitaly:在我的項目中,我不希望超過100或150個文檔,所以這是一個很好的解決方案,如果您打算使用非常大的集合,則應該使用索引。 – Gianluca 2011-12-28 10:29:05

相關問題