我想通過流式處理,暫停,處理和恢復來處理MongoDB數據庫中的數據。每個文檔的處理過程可能需要2-3分鐘,每個文檔都由集羣中的工作人員完成。我在master
中傳輸文檔,然後將文檔發送到workers
進行處理。問題是我正在錯誤MongoError: cursor killed or timed out
20-30分鐘進入流(或約10 +文件)。在處理時間低於此值之前,我已成功使用此方法。MongoError:光標死亡或超時
配置: [email protected]
,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()
});
});
});
嗨,你有沒有解決你的問題? – DaTebe
不,我重新設計我如何查詢它。 – harinsa