Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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

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 使用NodeJS和带分页的Mongoose从MongoDB检索数据_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Node.js 使用NodeJS和带分页的Mongoose从MongoDB检索数据

Node.js 使用NodeJS和带分页的Mongoose从MongoDB检索数据,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我在mongoDB中存储了数十万个数据。我使用nodejsrestapi和mongoose来检索数据 我使用MongooseSchema.find()从数据库中获取数据。它很好用。但问题是我要以角度显示数据列表。我不希望同时有成百上千的数据。有没有办法在每个请求中检索50个数据,在另一个请求中检索另50个数据 例如: 如果向下滚动结束,如何显示前20个数据我们必须进行api调用以获得另一组20个数据来显示?我建议使用and并向api端点添加分页 Limit限制skip跳过给定数量的文档时返回的文

我在mongoDB中存储了数十万个数据。我使用nodejsrestapi和mongoose来检索数据

我使用MongooseSchema.find()从数据库中获取数据。它很好用。但问题是我要以角度显示数据列表。我不希望同时有成百上千的数据。有没有办法在每个请求中检索50个数据,在另一个请求中检索另50个数据

例如:

如果向下滚动结束,如何显示前20个数据我们必须进行api调用以获得另一组20个数据来显示?

我建议使用and并向api端点添加分页

Limit限制skip跳过给定数量的文档时返回的文档数。通常这与
.sort()
一起使用,以按给定顺序返回文档,例如文档的创建日期时间

Model.find(...).sort(...).limit(req.query.limit).skip(req.query.skip).exec(function(error, docs) {});
分页示例:

您的应用程序发送一个请求,如
GET/api/users?limit=20&skip=0
以获取前20个

然后它发送一个请求,例如
GET/api/users?limit=20&skip=20
,以获取下一个20。我建议使用and并向api端点添加分页

Limit限制skip跳过给定数量的文档时返回的文档数。通常这与
.sort()
一起使用,以按给定顺序返回文档,例如文档的创建日期时间

Model.find(...).sort(...).limit(req.query.limit).skip(req.query.skip).exec(function(error, docs) {});
分页示例:

您的应用程序发送一个请求,如
GET/api/users?limit=20&skip=0
以获取前20个


然后它发送一个请求,例如
GET/api/users?limit=20&skip=20
,以获取下一个20。

您是否考虑过使用
.limit()
?我想随后显示所有数据。例如,首先我必须加载前20个数据,如果滚动结束,我们必须显示另一组20个数据。有什么办法吗?因为用户不希望同时获得所有数据。您使用的是什么API框架?Express、Hapi等…?Express使用typescript您是否考虑过使用
.limit()
?我想随后显示所有数据。例如,首先我必须加载前20个数据,如果滚动结束,我们必须显示另一组20个数据。有什么办法吗?因为用户不希望同时获得所有数据。您使用的是什么API框架?快速、Hapi等…?使用打字脚本快速你能告诉我跳过的目的是什么吗。限制将限制行数。谢谢sunknudsen。我尝试你的方法,如果它的工作,我接受答案。再次感谢你的帮助。你太棒了。谢谢,祝您愉快,您的解决方案运行良好。谢谢,我接受你的回答。请告诉我跳过的目的是什么。限制将限制行数。谢谢sunknudsen。我尝试你的方法,如果它的工作,我接受答案。再次感谢你的帮助。你太棒了。谢谢,祝您愉快,您的解决方案运行良好。谢谢,我接受你的回答。继续摇摆