すぐに戻りますが、予想される動作が何であるかは完全にはわかりません。バックグラウンドで削除していますか?
1 に答える
Moped でこの操作を実行するコードは明らかに非同期ではなく、操作が MongoDB に送信されている間 (デフォルトでは、データベースからの応答を待っている間) にブロックされます。
https://github.com/mongoid/moped/blob/master/lib/moped/query.rb#L290-L307 https://github.com/mongoid/moped/blob/master/lib/moped/node.rb #L466-L468
ただし、Chris Heald もすでに言及しているように、w=0 の書き込み懸念 (いわゆる「ファイア アンド フォーゲット」モード) を使用すると、Moped はサーバーからの応答を待機しないように指示されます。remove_all が正常に完了したという確認は表示されませんが、この方法を使用すると、作業を MongoDB サーバーに効果的にバックグラウンド化できます。
MongoDB の write-concerns が未確認の書き込みに対してどのように機能するかについての詳細は次のとおりです: http://docs.mongodb.org/manual/core/write-concern/#unacknowledged