簡體   English   中英

MongoDB:如何在連續查詢中檢索大量文檔

[英]MongoDB: How to retrieve a large number of documents in successive queries

這是我要實現的目標:

我的館藏中有大量文件。 用戶將查詢某個字段,這將返回大量文檔。 但是出於帶寬/處理的原因,我不想立即獲取所有文檔並將其發送給用戶(瀏覽器)。

假設用戶使用搜索字段發出GET請求。 這將得出1000個結果。 但是我只想發送前10個給用戶。 然后用戶將請求下一個10,依此類推。

有沒有辦法在Mongodb中實現這一目標? 我可以使用某個計數器查詢,然后在連續查詢中將其遞增嗎?

什么是實現此機制的好方法?

謝謝。

MongoDB本機支持使用skip()和limit()命令進行分頁操作。

//first 10 results -> page 1
collection.find().limit (10)

//next 10 results -> page 2
collection.find().skip(10).limit(10)

//next 10 results -> page 3
collection.find().skip(20).limit(10)

這里的數字表示1,2,3,...表示前10條記錄(如果您給出number = 1)。

db.students.find().skip(number > 0 ? ((number-1)*10) : 0).limit(10);
//first 10 records ,number = 1
db.students.find().skip(1 > 0 ? ((1-1)*10) : 0).limit(10);

//next  10 records ,number = 2
db.students.find().skip(2 > 0 ? ((2-1)*10) : 0).limit(10);

暫無
暫無

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

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