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
Node.js Mongoose js批处理查找_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js Mongoose js批处理查找

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) }); 我原以为每次打印

我用的是猫鼬3.8。我需要获取100个文档,执行回调函数,然后获取接下来的100个文档并执行同样的操作

我原以为
.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);
})

不,我不需要传呼,我没有页码信息。我想做的就是,继续逐部分地读取数据并对其进行处理。如果有很多记录,我的处理会变得太重。