sql >> Databáze >  >> NoSQL >> MongoDB

Jak přesouvat peníze pomocí MongoDB?

Když váš případ použití vyžaduje transakce, které zahrnují více dokumentů, MongoDB se pro něj obvykle nehodí, protože nepodporuje atomické operace, když je ovlivněno více než jeden dokument.

Možné řešení je dvoufázové potvrzení model.

V zásadě to znamená, že nejprve přidáte popis toho, co chcete ke každému dokumentu udělat, jako další pole k němu. Potom na každém dokumentu provedete atomickou operaci, která tuto akci použije a odstraní popis. Každý z těchto kroků je potvrzen následným dotazem na dokument a každý krok transakce je dokumentován 3. dokumentem v dodatečné kolekci nevyřízených transakcí. To vám umožní zkontrolovat nevyřízené transakce a vrátit je zpět.

Tato metoda je obtížně implementovatelná a má značnou režii. Než to implementujete, měli byste skutečně zvážit, zda skutečně existuje dobrý důvod nepoužívat databázový systém s nativní podporou transakcí.



  1. Instalace a konfigurace Redis na Ubuntu

  2. Chyba při pokusu o aktualizaci prvku pole MongoDb

  3. Textové vyhledávání vnořených objektů v mongoDB

  4. Bitva o databáze NoSQL - Porovnání MongoDB a Firebase