我们在mongoDB中有一个包含数百万条记录的集合。它花费了大量的时间和时间来计算并创建这些记录的分页。什么是使用nodejs做到这一点的最好方法。我想创建一个页面,我在其中看到记录的分页,计数,删除,记录搜索。下面是用不同条件对Mongo进行查询的代码。
crowdResult.find({ "auditId":args.audit_id,"isDeleted":false})
.skip(args.skip)
.limit(args.limit)
.exec(function (err, data) {
if (err)
return callback(err,null);
console.log(data);
return callback(null,data);
})
答案 0 :(得分:0)
如果目标是在没有超时的情况下通过大型数据集,那么我使用以下方法一个接一个地获取页面并在可用时立即处理分页结果集: https://gist.github.com/pulkitsinghal/2f3806670439fa137210fc26b134237f
请注意以下几行,以便在深入探讨之前快速了解代码的作用:
getPage()
处理工作,您可以根据自己的喜好设置pageSize
和query
:
https://gist.github.com/pulkitsinghal/2f3806670439fa137210fc26b134237f#file-sample-js-L68 pagedResults
一旦可用:
https://gist.github.com/pulkitsinghal/2f3806670439fa137210fc26b134237f#file-sample-js-L49 我希望这会提供一些灵感,即使它不是满足您需求的精确解决方案。