亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何獲取mongodb中的最后N條記錄?

如何獲取mongodb中的最后N條記錄?

函數式編程 2019-10-14 09:28:33
我找不到任何記錄在案的文件。默認情況下,find()操作將從頭開始獲取記錄。如何獲取mongodb中的最后N條記錄?編輯:我也希望返回的結果從最近到最近排序,而不是相反。
查看完整描述

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);


查看完整回答
反對 回復 2019-10-14
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

為了獲得最后的N條記錄,您可以執行以下查詢:


db.yourcollectionname.find({$query: {}, $orderby: {$natural : -1}}).limit(yournumber)

如果您只想要最后一條記錄:


db.yourcollectionname.findOne({$query: {}, $orderby: {$natural : -1}})

注意:您可以使用集合中的其中一列來代替$ natural。


查看完整回答
反對 回復 2019-10-14
  • 3 回答
  • 0 關注
  • 3562 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號