MongoDBはマルチドキュメントACIDトランザクションをサポートしています(レプリカセットではv4.0以降、シャードクラスタではv4.2以降)。複数のドキュメント/コレクション全体の操作をグループ化し、すべて成功するか、すべて失敗するかのいずれかになります。ただし、MongoDBのドキュメントモデルでは、アトミックな単一ドキュメント操作を使用することで、トランザクションが不要になることがよくあります。
単一ドキュメント操作は既にアトミックです
KEY POINT: operations on a SINGLE document are ALWAYS atomic in MongoDB.
→ Because related data is often EMBEDDED in one document, many operations that would
need a transaction in SQL are a single atomic document update in MongoDB.
→ Good schema design (embedding) often eliminates the NEED for multi-doc transactions.
db..(
{ : id },
{ : { : - }, : { : { : - } } }
);
