簡體   English   中英

是否能在mongodb中獲得最后30條收集結果的記錄,但不是從零開始?

[英]Hot to get last 30 records of collection result in mongodb, but not from zero?

我嘗試使用.sort({_id:1}).limit(30)來做到這一點,但是結果它們顯示的范圍是0到30,而不是40到70(例如),這意味着我看到的所有消息都達到30 ,且版本大於30-未顯示。 我如何從db.collection('messages')中找出30條消息?

您可以通過在光標上調用skip()來設置要包含在結果中的第一個文檔:

.sort({_id: 1}).skip(40).limit(30)

_id排序后,將提供41至70個文檔。

如果要在保持最后 30條升序的同時獲得最后 30條,請反轉排序,然后使用Array#reverse結果:

coll.find().sort({_id: -1}).limit(30).toArray((err, docs) => {
    docs.reverse();    
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM