How does MongoDB handle transactions and what are the transaction capabilities?
MongoDB provides multi-document transactions starting with version 4.0. This allows you
to execute multiple operations in a transaction, ensuring ACID properties (Atomicity,
Consistency, Isolation, Durability) across multiple documents and collections.
Example:
const session = client.startSession();
try {
session.startTransaction();
db.collection1.updateOne({ _id: 1 }, { $set: { status: "completed"
} }, { session });
db.collection2.updateOne({ _id: 2 }, { $set: { status: "shipped" }
}, { session });
session.commitTransaction();
} catch (error) {
session.abortTransaction();
} finally {
session.endSession();