
468 Глава 20. Долговечность
function updateEmployeeInfo(session)
{
employeesCollection = session.getDatabase("hr").employees;
eventsCollection = session.getDatabase("reporting").events;
session.startTransaction( { writeConcern: { w: "majority" } } );
try {
employeesCollection.updateOne( { employee: 3},
{ $set: { status: "Inactive"}});
eventsCollection.insertOne( { employee: 3, status: { new: "Inactive",
old: "Active" } } );
}
catch (error) {
print("Caught exception during transaction, aborting.");
session.abortTransaction();
throw error;
}
commitWithRetry(session);
}
Чего MongoDB не гарантирует
Есть несколько ситуаций, когда MongoDB не может ...