sql >> Databasteknik >  >> NoSQL >> MongoDB

Förvarsmönster med MongoDB - flera arbetsenheter med en transaktion

Jag har aldrig använt MongoDB; vet inget om det. Jag svarar bara i termer av TransactionScope; så inte säker på om detta kommer att hjälpa dig.

Se Magic Of TransactionScope . IMO, det finns tre faktorer du bör leta efter:

  1. Anslutning till databasen bör öppnas inuti TransactionScope .

    Inte säker men det ser ut som att du kan anropa manuellt anslutningen öppnades utanför räckvidden med connection.EnlistTransaction(Transaction.Current) .

    När du tittar på din kommentar och redigeringen är detta inget problem.

  2. Alla operationer bör köras på samma tråd.

    och

    Så alla operationer bör köras på samma tråd.

  3. Spela med TransactionScopeOption (skicka det till konstruktören av TransactionScope ) värden enligt ditt behov.

    Jag är inte säker på vad din kod förväntas göra. Du kan leka med dessa uppräkningsvärden.

Som du nämnde i kommentaren använder du async/await .

För MongoDB, se om detta hjälper dig.



  1. Jämför mellan två fält i ett dokument i MongoDB

  2. NodeJS callback efter flera async-funktioner i for-loop

  3. MongoDB mongorestore och befintlig samling med poster

  4. Meteor / ReactJS - UI blinkande problem:rendering två gånger före och efter kontroll av en databas