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...