MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да прехвърляте пари с MongoDB?

Когато вашият случай на използване изисква транзакции, които обхващат множество документи, MongoDB обикновено не е подходящ за него, тъй като не поддържа атомарни операции, когато е засегнат повече от един документ.

Възможно заобиколно решение е two-phase-commit модел.

Това основно означава, че първо добавяте описание какво искате да направите към всеки документ като допълнително поле към него. След това изпълнявате атомарна операция върху всеки документ, която прилага това действие и премахва описанието. Всяка от тези стъпки се потвърждава чрез запитване на документа след това и всяка стъпка от транзакцията се документира от трети документ в допълнителна колекция от чакащи транзакции. Това ви позволява да проверявате за чакащи транзакции и да ги върнете обратно.

Този метод е труден за изпълнение и има значителни разходи. Преди да приложите това, трябва наистина да помислите дали наистина има основателна причина да не използвате система от бази данни с вградена поддръжка на транзакции.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Използвайте LINQ в C#, за да намерите MondoDB записи, когато стойностите в поле от списък съответстват на стойност на критерии от списък

  2. Проблем с броя на геопространствените заявки на MongoDB (винаги 100)

  3. Намерете максимален елемент в масив

  4. MongoDB (сървър v 2.6.7) с C# драйвер 2.0:Как да получите резултата от InsertOneAsync

  5. Как да намерите елементи с помощта на регулярен израз в Mongoose