Comme mentionné dans le commentaire également, vous pouvez trouver la référence des transactions sur Node-mongodb-native API ClientSession v3.1 . En effet, les transactions sont associées à une session. Autrement dit, vous démarrez une transaction pour une session. À tout moment, vous pouvez avoir au plus une transaction ouverte pour une session.
La documentation pour Transactions multi-documents MongoDB
contient également des exemples Node.js
extraits de code. Par exemple :
session.startTransaction({
readConcern: { level: 'snapshot' },
writeConcern: { w: 'majority' }
});
const employeesCollection = client.db('hr').collection('employees');
const eventsCollection = client.db('reporting').collection('events');
await employeesCollection.updateOne(
{ employee: 3 },
{ $set: { status: 'Inactive' } },
{ session }
);
await eventsCollection.insertOne(
{
employee: 3,
status: { new: 'Inactive', old: 'Active' }
},
{ session }
);
try {
await commitWithRetry(session);
} catch (error) {
await session.abortTransaction();
throw error;
}
La référence des méthodes ci-dessus se trouve sur :
En plus du pilote MongoDB Node.js v3.1, veuillez noter que les transactions multi-documents sont disponibles pour les jeux de répliques uniquement sur MongoDB v4.0.x. Les transactions pour les clusters partitionnés sont disponibles à partir de la version v4.2.