Node.js Mongoose js批处理查找
我用的是猫鼬3.8。我需要获取100个文档,执行回调函数,然后获取接下来的100个文档并执行同样的操作 我原以为Node.js Mongoose js批处理查找,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我用的是猫鼬3.8。我需要获取100个文档,执行回调函数,然后获取接下来的100个文档并执行同样的操作 我原以为.batchSize()也会做同样的事情,但我一次就得到了所有的数据 我是否必须使用限制或偏移?如果是,有人能给出一个合适的例子吗 如果可以用batchSize完成,为什么它对我不起作用 MySchema.find({}).batchSize(20).exec(function(err,docs) { console.log(docs.length) }); 我原以为每次打印
.batchSize()
也会做同样的事情,但我一次就得到了所有的数据
我是否必须使用限制
或偏移
?如果是,有人能给出一个合适的例子吗
如果可以用batchSize
完成,为什么它对我不起作用
MySchema.find({}).batchSize(20).exec(function(err,docs)
{
console.log(docs.length)
});
我原以为每次打印20张,但它打印的是整个计数。这有您需要的信息。
你可以这样做
var pagesize=100;
MySchema.find().skip(pagesize*(n-1)).limit(pagesize);
其中n是您在请求中接收的参数,它是客户端希望接收的页码 说:
在大多数情况下,修改批大小不会影响用户或应用程序,因为MongoShell和大多数驱动程序返回结果就像MongoDB返回单个批一样
您可能希望查看并尝试累积子结果:
var stream = Dummy.find({}).stream();
stream.on('data', function (dummy) {
callback(dummy);
})
不,我不需要传呼,我没有页码信息。我想做的就是,继续逐部分地读取数据并对其进行处理。如果有很多记录,我的处理会变得太重。