MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak przesyłać pieniądze z MongoDB?

Kiedy Twój przypadek użycia wymaga transakcji, które obejmują wiele dokumentów, MongoDB zwykle źle się do tego nadaje, ponieważ nie obsługuje operacji atomowych, gdy dotyczy to więcej niż jednego dokumentu.

Możliwe obejście to dwufazowe-zatwierdzenie model.

Zasadniczo oznacza to, że najpierw dodajesz opis, co chcesz zrobić do każdego dokumentu, jako dodatkowe pole do niego. Następnie wykonujesz niepodzielną operację na każdym dokumencie, która stosuje tę akcję i usuwa opis. Każdy z tych kroków jest potwierdzany przez późniejsze odpytanie dokumentu, a każdy krok transakcji jest dokumentowany trzecim dokumentem w dodatkowym zbiorze transakcji oczekujących. Pozwala to sprawdzić oczekujące transakcje i wycofać je.

Ta metoda jest trudna do wdrożenia i wiąże się ze znacznymi kosztami. Zanim to zaimplementujesz, powinieneś naprawdę zastanowić się, czy naprawdę istnieje dobry powód, aby nie używać systemu bazy danych z natywną obsługą transakcji.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Modelowanie danych Mongo/aktualizacje do głosowania (w górę iw dół)

  2. Używanie $graphLookup do przechodzenia przez zagnieżdżoną strukturę danych w MongoDB

  3. MongoDB:Jak znaleźć n-tą najwyższą pensję z kolekcji

  4. Podstawy replikacji łańcucha MongoDB

  5. Jak przekazać zmienną środowiskową do skryptu mongo?