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

Přírůstkové pole k existující kolekci

No, pomocí odkazu, který jste zmínil , raději bych použil přepážkový přístup .

Přístup shromažďování čítačů má některé nevýhody včetně:

  • Vždy generuje požadavek na násobky (dva):jeden pro získání pořadového čísla, druhý pro vložení pomocí id, které jste získali prostřednictvím sekvence,
  • Používáte-li funkce sharding mongodb, může být dokument zodpovědný za uložení stavu čítače často používán a pokaždé se dostane na stejný server.

Měl by však být vhodný pro většinu použití.

Přístup, který jste zmínil ("optimistický smyčka" ) by se IMO nemělo rozbít a netuším, proč s tím máte problém. Nicméně bych to nedoporučoval. Co se stane, když spustíte kód na více klientech mongo, když jeden má velkou latenci a ostatní si stále berou ID? Nerad bych se setkal s tímto druhem problému... Kromě toho existují alespoň dva požadavky na úspěšnou operaci, ale žádný maximální počet opakování před úspěchem...




  1. Nápověda ke struktuře databáze MongoDB a doporučeným postupům

  2. Jak v MongoDB najdu dokument, který je vložený?

  3. Hlavní rozdíly/vlastnosti mezi nejznámějšími NoSQL systémy

  4. Jak uložit pouze jednu databázi v Redis?