MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

la transaction de plusieurs documents ne fonctionne pas en c # en utilisant le serveur de communauté mongodb 4.08

La raison pour laquelle les opérations sont exécutées (c'est-à-dire que les données étaient toujours insérées après l'abandon), car les opérations ne sont pas contenues dans une session transactionnelle.

Toutes les opérations CRUD doivent avoir une méthode surchargée qui spécifie IClientSessionHandle comme premier argument. Par exemple :

Task InsertOneAsync(IClientSessionHandle session, TDocument document, InsertOneOptions options = null, CancellationToken cancellationToken = default(CancellationToken));

Voir :InsertOneAsync et ReplaceOneAsync dans le pilote MongoDB .NET/C# v2.8.1.

Pour vous assurer que les opérations sont contenues dans la session transactionnelle, transmettez la session en tant qu'argument aux opérations CRUD. Toutes les opérations qui n'ont pas l'objet session seront exécutées en dehors de la session.