Javascript 如何使用mongodb数据延迟角度加载

Javascript 如何使用mongodb数据延迟角度加载,javascript,angularjs,node.js,mongodb,mongoose,Javascript,Angularjs,Node.js,Mongodb,Mongoose,我想在angular.js中实现延迟加载,我正在使用nodejs将数据列表从后端发送到UI,我需要实现,在滚动10个项目上,是否有实现此目的的示例请共享任何链接。请任何人帮我一下。延迟加载与DB无关,因为它取决于DAO层,而DB关心的是返回提交给它的查询的数据 我从UI实现延迟加载的方法 使用分页,我们可以进行延迟加载 1) 查找集合中的文档总数 2) 每次加载包含下一组数据的页面时,传递所需的信息,例如DB需要从哪个文档发送数据 3) 重复步骤2,直到达到集合中的文档总数 举个例子,让我们有一

我想在angular.js中实现延迟加载,我正在使用nodejs将数据列表从后端发送到UI,我需要实现,在滚动10个项目上,是否有实现此目的的示例请共享任何链接。请任何人帮我一下。

延迟加载与DB无关,因为它取决于DAO层,而DB关心的是返回提交给它的查询的数据

我从UI实现延迟加载的方法

使用分页,我们可以进行延迟加载

1) 查找集合中的文档总数

2) 每次加载包含下一组数据的页面时,传递所需的信息,例如DB需要从哪个文档发送数据

3) 重复步骤2,直到达到集合中的文档总数

举个例子,让我们有一个记录很少的集合

db.mycollection.find();

{ "_id" : ObjectId("58947e7e93cbb73057657d60"), "name" : "Clement" }
{ "_id" : ObjectId("58947e7e93cbb73057657d61"), "name" : "Rockin" }
{ "_id" : ObjectId("58947e7e93cbb73057657d62"), "name" : "Gowri" }
{ "_id" : ObjectId("58947e7e93cbb73057657d63"), "name" : "Inbaraj" }
{ "_id" : ObjectId("58947e7e93cbb73057657d64"), "name" : "Siva" }
{ "_id" : ObjectId("58947e7e93cbb73057657d65"), "name" : "Rani" }
{ "_id" : ObjectId("58947e7e93cbb73057657d66"), "name" : "Rose" }
{ "_id" : ObjectId("58947e7e93cbb73057657d67"), "name" : "Rekha" }
{ "_id" : ObjectId("58947e7e93cbb73057657d68"), "name" : "Dev" }
{ "_id" : ObjectId("58947f6f93cbb73057657d69"), "name" : "Joe" }
{ "_id" : ObjectId("58947f8393cbb73057657d6a"), "name" : "Beniton" }
进行分页的先决条件

db.mycollection.find().count()
11
让我将初始负载大小设置为5

我对DB的第一个查询是

db.mycollection.find().sort({"_id":1}).limit(5);

{ "_id" : ObjectId("58947e7e93cbb73057657d60"), "name" : "Clement" }
{ "_id" : ObjectId("58947e7e93cbb73057657d61"), "name" : "Rockin" }
{ "_id" : ObjectId("58947e7e93cbb73057657d62"), "name" : "Gowri" }
{ "_id" : ObjectId("58947e7e93cbb73057657d63"), "name" : "Inbaraj" }
{ "_id" : ObjectId("58947e7e93cbb73057657d64"), "name" : "Siva" }
db.mycollection.find().sort({"_id":1}).skip(10).limit(5);

{ "_id" : ObjectId("58947f8393cbb73057657d6a"), "name" : "Beniton" }
我对DB的下一个查询

db.mycollection.find().sort({"_id":1}).skip(5).limit(5);

{ "_id" : ObjectId("58947e7e93cbb73057657d65"), "name" : "Rani" }
{ "_id" : ObjectId("58947e7e93cbb73057657d66"), "name" : "Rose" }
{ "_id" : ObjectId("58947e7e93cbb73057657d67"), "name" : "Rekha" }
{ "_id" : ObjectId("58947e7e93cbb73057657d68"), "name" : "Dev" }
{ "_id" : ObjectId("58947f6f93cbb73057657d69"), "name" : "Joe" }
最后一个问题是

db.mycollection.find().sort({"_id":1}).limit(5);

{ "_id" : ObjectId("58947e7e93cbb73057657d60"), "name" : "Clement" }
{ "_id" : ObjectId("58947e7e93cbb73057657d61"), "name" : "Rockin" }
{ "_id" : ObjectId("58947e7e93cbb73057657d62"), "name" : "Gowri" }
{ "_id" : ObjectId("58947e7e93cbb73057657d63"), "name" : "Inbaraj" }
{ "_id" : ObjectId("58947e7e93cbb73057657d64"), "name" : "Siva" }
db.mycollection.find().sort({"_id":1}).skip(10).limit(5);

{ "_id" : ObjectId("58947f8393cbb73057657d6a"), "name" : "Beniton" }
在这个例子中

使用排序依据
\u id
,它基于插入时间,这有助于我们对文档进行排序,并为后续查询呈现文档

希望有帮助

参考资料:

使用指令,如或无限滚动最佳教程签出此