Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js MongoDB:如何在连续查询中检索大量文档_Node.js_Mongodb_Web Services_Database Design_Database - Fatal编程技术网

Node.js MongoDB:如何在连续查询中检索大量文档

Node.js MongoDB:如何在连续查询中检索大量文档,node.js,mongodb,web-services,database-design,database,Node.js,Mongodb,Web Services,Database Design,Database,这就是我想要实现的目标: 我收集了大量的文件。用户将查询某个字段,这将返回大量文档。 但出于带宽/处理的原因,我不想一次获取所有文档并将它们发送给用户(浏览器) 假设用户使用搜索字段发出GET请求。这将产生1000个结果。但我只想将前10个发送给用户。然后用户会请求下一个10,依此类推 有没有办法在Mongodb中实现这一点?我可以使用某个计数器进行查询并在连续查询中递增它吗 实现这一机制的好方法是什么 谢谢。这里的数字代表1,2,3,。。。。。如果您给出的数字为1,则表示前10条记录 db.s

这就是我想要实现的目标:

我收集了大量的文件。用户将查询某个字段,这将返回大量文档。 但出于带宽/处理的原因,我不想一次获取所有文档并将它们发送给用户(浏览器)

假设用户使用搜索字段发出GET请求。这将产生1000个结果。但我只想将前10个发送给用户。然后用户会请求下一个10,依此类推

有没有办法在Mongodb中实现这一点?我可以使用某个计数器进行查询并在连续查询中递增它吗

实现这一机制的好方法是什么


谢谢。

这里的数字代表1,2,3,。。。。。如果您给出的数字为1,则表示前10条记录

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

这里的数字表示1,2,3,。。。。。如果您给出的数字为1,则表示前10条记录

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

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)

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)