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

Vytváření inkrementálních čísel pomocí mongoDB

http://www.mongodb.org /display/DOCS/How+to+Make+an+Auto+Incrementing+Field

Prvním přístupem je udržování čítačů ve vedlejším dokumentu:

Druhým přístupem je optimistická smyčka a zpracování dup key error code 11000 pokračováním a zvyšováním id pro okrajový případ kolizí. To funguje dobře, pokud není vysoká souběžnost zápisů do konkrétní kolekce.

Mějte však na paměti varování na této stránce:

Další věci ke zvážení:

  • Časové razítko - jedinečná dlouhá, ale nezvyšující se (základna na epoše)
  • Hybridní přístup – aplikace si nemusí nutně vybrat jednu možnost úložiště.
  • Vymyslete si mechanismus ID na základě věcí, jako je zákazník, části data/času atd..., které generujete a řešíte kolize. V závislosti na schématu mohou být kolize mnohem méně pravděpodobné. Nemusí se nutně zvyšovat, ale je jedinečný a má dobře definovaný čitelný vzor.


  1. Meteor $a s $or

  2. Jak škálovat SignalR pomocí Azure Worker Role a OWIN

  3. Možnosti [useMongoClient] nejsou podporovány

  4. Jak naplnit dílčí dokument v mongoose po jeho vytvoření?