sql >> Database >  >> NoSQL >> MongoDB

transactie met meerdere documenten werkt niet in c# met behulp van mongodb 4.08 community-server

De reden waarom de bewerkingen worden uitgevoerd (d.w.z. de gegevens zijn nog steeds ingevoegd na het afbreken), omdat de bewerkingen niet in een transactiesessie zijn opgenomen.

Alle CRUD-bewerkingen moeten een overbelaste methode hebben die IClientSessionHandle specificeert als zijn eerste argument. Bijvoorbeeld:

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

Zie:InsertOneAsync en ReplaceOneAsync in MongoDB .NET/C#-stuurprogramma v2.8.1.

Om ervoor te zorgen dat de bewerkingen binnen de transactiesessie vallen, geeft u de sessie als argument door aan de CRUD-bewerkingen. Alle bewerkingen die het sessie-object niet hebben, worden buiten de sessie uitgevoerd.




  1. MongoDB, update verzamelingsveld als nieuwe waarde niet null is

  2. Meerdere facetten gebruiken in MongoDB Spring Data

  3. Afbeeldingen opslaan:MongoDb versus bestandssysteem

  4. Kan ik voor elke geaggregeerde zoekopdracht in MongoDB een aanvraag indienen?