Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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 Mongodb流调用';结束';活动太早_Node.js_Mongodb - Fatal编程技术网

Node.js Mongodb流调用';结束';活动太早

Node.js Mongodb流调用';结束';活动太早,node.js,mongodb,Node.js,Mongodb,我正在使用nodejs将mongodb转储到另一个mongodb 我每个副本集大约有1000万个文档。但流调用“数据”事件的次数只有100万次,甚至少于它调用“结束”事件的次数。因此,我无法获得与总文档数相等的文档(“数据”事件计数比stream.count低很多) 请注意,“结束”事件之后没有“数据”事件 但有时它会起作用。它使用相同的代码获取所有1000万份文档 有什么方法可以调试这个吗 代码如下: 在深入研究MongoDB模块后,我发现有一个未记录的“错误”事件 stream.on('

我正在使用nodejs将mongodb转储到另一个mongodb

我每个副本集大约有1000万个文档。但流调用“数据”事件的次数只有100万次,甚至少于它调用“结束”事件的次数。因此,我无法获得与总文档数相等的文档(“数据”事件计数比stream.count低很多)

请注意,“结束”事件之后没有“数据”事件

但有时它会起作用。它使用相同的代码获取所有1000万份文档

有什么方法可以调试这个吗

代码如下:


在深入研究MongoDB模块后,我发现有一个未记录的“错误”事件

 stream.on('error', function(error) {
        console.error(error);
        db.close();
 });
然后我再次运行它,等待错误事件发生,然后我发现网络连接有问题。添加
timeout:false
以查找函数有助于解决此问题

var stream = col.find(mongoSync.query, mongoSync.projection,{timeout:false}).batchSize(mongoSync.batchSize).stream();

请至少发布您的代码或相关部分。@ShanShan抱歉,我刚刚添加了它。请检查一下。我不确定你是否可以在不耗尽光标的情况下调用流。