MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Creazione di numeri incrementali con mongoDB

http://www.mongodb.org /display/DOCS/Come+creare+un+campo+automatico+incrementante

Il primo approccio è mantenere i contatori in un documento laterale:

L'altro approccio è quello di eseguire il ciclo in modo ottimistico e gestire il codice di errore della chiave duplicata di 11000 continuando e incrementando l'id per il caso limite di collisioni. Funziona bene a meno che non vi sia un'elevata simultaneità nelle scritture in una raccolta specifica.

Ma attenzione all'avviso su quella pagina:

Altre cose da considerare:

  • Timestamp - unico lungo ma non incrementale (base su epoch)
  • Approccio ibrido:le app non devono necessariamente scegliere un'opzione di archiviazione.
  • Crea il tuo meccanismo di identificazione basato su cose come cliente, parti di data/ora ecc... per cui generi e gestisci le collisioni. A seconda dello schema, le collisioni possono essere molto meno probabili. Non necessariamente incrementale, ma è unico e ha uno schema leggibile ben definito.