【发布时间】:2016-08-25 19:39:57
【问题描述】:
我正在尝试通过流式传输、暂停、处理和恢复来处理 MongoDB 数据库中的数据。每个文档的处理最多可能需要 2-3 分钟,每个文档都由集群中的工作人员完成。我在master 中流式传输文档,然后将文档发送到workers 进行处理。问题是我在流中收到错误MongoError: cursor killed or timed out 20-30 分钟(或大约 10 多个文档)。之前处理时间低于这个的时候,我已经成功使用过这个方法了。
配置:
node-mongodb-native@1.4.40,mongodb version 3.0.5,node 0.10
MongoClient.connect(config.mongodb, function(err, db) {
if (err) helper.logError(err)
var collection = db.collection('collectionName');
stream = collection.find(condition).stream();
stream.on("data", function(doc) {
stream.pause();
doSomeProcessing().then(function(){
stream.resume()
});
});
});
【问题讨论】:
-
您好,您的问题解决了吗?
-
不,我重新设计了查询方式。
标签: mongodb node-mongodb-native