場合によっては、MongoDB でアトミックかつ分離された複数の更新操作を実行して、他のプロセスまたはスレッドが処理中にデータを取得しないようにする必要があります。原子性と分離がドキュメント レベルでのみサポートされており、ロックも db レベルで維持されていることを認識しています。上記のケースに関して、次のクエリがあります。
- 「$isolated」はクラスターでは機能せず、さらに findAndModify() は単一のドキュメントで機能するため、このような複数の更新をバッチで個別に実行できる方法はありますか?
- 上記のケースを実現するために同時実行制御を行うにはどうすればよいですか?
- ここで 2 フェーズ コミットを使用できますか?トランザクションを維持することによって、それは分離された方法で実行されますか?
- 調査中に、複数バージョンの同時実行制御に MongoMVCC を見つけました。使用したことがある場合は、上記のユース ケースに関する経験を共有してください。