3 回答

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

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