3 回答

TA貢獻1784條經驗 獲得超2個贊
如果我理解您的問題,則需要按升序排序。
假設您有一些名為“ x”的id或日期字段,則可以...
。分類()
db.foo.find().sort({x:1});
的1將升序(最舊到最新)和-1將降序(從最新到最舊的)。
如果您使用自動創建的_id字段,則該字段中嵌入了日期...因此您可以使用該日期排序...
db.foo.find().sort({_id:1});
這將返回從最舊到最新的所有文檔。
自然秩序
您還可以使用上述自然順序 ...
db.foo.find().sort({$natural:1});
同樣,根據需要的順序使用1或-1。
使用.limit()
最后,優良作法是在進行這種廣泛開放的查詢時添加一個限制,這樣您就可以...
db.foo.find().sort({_id:1}).limit(50);
要么
db.foo.find().sort({$natural:1}).limit(50);

TA貢獻1812條經驗 獲得超5個贊
為了獲得最后的N條記錄,您可以執行以下查詢:
db.yourcollectionname.find({$query: {}, $orderby: {$natural : -1}}).limit(yournumber)
如果您只想要最后一條記錄:
db.yourcollectionname.findOne({$query: {}, $orderby: {$natural : -1}})
注意:您可以使用集合中的其中一列來代替$ natural。
- 3 回答
- 0 關注
- 3562 瀏覽
添加回答
舉報