MongoDBのバージョンに応じて、コレクションまたは古いデータベースレベル、あるいはWiredTigerストレージエンジンを使用したドキュメントレベルのいずれかである可能性が高い、一定レベルのロックが常にあります。 $out
ただし、書き込みは生成されないため、個々のドキュメントはパイプラインから出力され、一度にすべてではないため、各更新はドキュメントごとにアトミックになります。
mapReduceコマンドでさえ
$out
で注意すべき1つのこと 「置換」モードを使用すると、そのステージが実行されるため、コレクションからすべてのドキュメントが削除されます(既存のインデックスは置換されません)。したがって、「置換」セットで指定されたコレクションから読み取りまたは書き込みを行おうとすると、集計操作の進行中に失敗する(または予期しない結果が生じる)可能性が非常に高くなります。
シャーディングされたコレクションとキャップされたコレクションに関連するその他の制限は、ドキュメントに記載されています。