2016-10-07 4 views
0

私は2つのコレクションを持っています。mongodb他のコレクションからの値を使用して文書をフィルタリングする

彼らはCOL2に存在する場合、私は、COL1で文書をマークしたい:

db.col1.find().forEach(function(c1){ 
    var c2=db.col2.find(a:c1.a); 
    if (c2!=null) { 
     c1.mark=true; 
     db.col1.save(c1); 
    } 
}); 

上記のスクリプトは、すべてのドキュメントを介して実行しないようですので、私は(〜50)ほんの数更新されます。私はここで何が欠けていますか?

答えて

1

私は、saveis asynchronousだと思っています。操作が速すぎると、奇妙な動作をし始めます。私はsaveコールバックを処理するロジックを変更しようとしているので、同時にいくつのセーブが行われているかを制御しています。

+0

ありがとうございます。サンプルをくれませんか? –

関連する問題