sql >> Database teknologi >  >> NoSQL >> MongoDB

Lagermønster med MongoDB - flere arbejdsenheder med en transaktion

Jeg har aldrig brugt MongoDB; ved ikke noget om det. Jeg svarer kun i forhold til TransactionScope; så ikke sikker på, om dette vil hjælpe dig.

Se venligst Magic Of TransactionScope . IMO, der er tre faktorer, du skal kigge efter:

  1. Forbindelse til databasen skal åbnes inde TransactionScope .

    Ikke sikker, men det ser ud til, at du kan manuelt tilmelde dig forbindelsen åbnede uden for omfanget ved hjælp af connection.EnlistTransaction(Transaction.Current) .

    Når du ser på din kommentar og redigeringen, er dette ikke et problem.

  2. Alle handlinger skal køre på samme tråd.

    og

    Så alle operationer skal køre på samme tråd.

  3. Spil med TransactionScopeOption (giv det til konstruktøren af ​​TransactionScope ) værdier efter dit behov.

    Jeg er ikke sikker på, hvad din kode forventede at gøre. Du kan lege med disse enum-værdier.

Som du nævnte i kommentaren, bruger du async/await .

For MongoDB, se om dette hjælper dig.



  1. Filtrering af dollarværdier med mongodb

  2. Hvordan måles $maxDistance i MongoDB?

  3. Mongodb foreach for indlejret samling for at opdatere/kopiere dokumenter til en anden samling

  4. Redis:Summen af ​​SCORES i sorteret sæt