sql >> Database >  >> NoSQL >> MongoDB

Repositorypatroon met MongoDB - meerdere werkeenheden met één transactie

Ik heb MongoDB nooit gebruikt; weet er niets van. Ik antwoord alleen in termen van TransactionScope; dus ik weet niet zeker of dit je zal helpen.

Raadpleeg de Magic Of TransactionScope . IMO, er zijn drie factoren waar je op moet letten:

  1. Verbinding met de database moet in worden geopend de TransactionScope .

    Ik weet het niet zeker, maar het lijkt erop dat je handmatig kunt aanmelden de verbinding buiten het bereik geopend met behulp van connection.EnlistTransaction(Transaction.Current) .

    Kijkend naar je reactie en de bewerking, is dit geen probleem.

  2. Alle bewerkingen moeten op dezelfde thread worden uitgevoerd.

    en

    Dus alle bewerkingen moeten op dezelfde thread worden uitgevoerd.

  3. Speel met TransactionScopeOption (geef het door aan de constructor van TransactionScope ) waarden volgens uw behoefte.

    Ik weet niet zeker wat je code verwachtte te doen. U kunt met deze opsommingswaarden spelen.

Zoals je in de opmerking vermeldde, gebruik je async/await .

Kijk voor MongoDB of dit helpt je.



  1. Hoe MongoDB te schalen?

  2. PooledRedisClientManager geeft geen verbindingen vrij

  3. Redis gebruiken met Node.js en Socket.IO

  4. StackExchange TimeoutException bij het invoegen van 750 items in 2 sets in redis