sql >> Databasteknik >  >> NoSQL >> MongoDB

Skapa inkrementerande siffror med mongoDB

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

Den första metoden är att hålla räknare i ett sidodokument:

Det andra tillvägagångssättet är att loopa optimistiskt och hantera dup-nyckelfelkod 11000 genom att fortsätta och öka ID:t för kantfallet av kollisioner. Det fungerar bra om det inte är hög samtidighet att skriva till en specifik samling.

Men var medveten om varningen på den sidan:

Andra saker att tänka på:

  • Timestamp - unik lång men inte stigande (baserat på epok)
  • Hybrid tillvägagångssätt – appar behöver inte nödvändigtvis välja ett lagringsalternativ.
  • Kom på din id-mekanism baserat på saker som kund, datum/tid delar etc... som du genererar och hanterar kollisioner för. Beroende på schemat kan kollisioner vara mycket mindre sannolika. Inte nödvändigtvis ökande men är unik och har ett väldefinierat läsbart mönster.


  1. MongoDB $or fråga

  2. Hur man automatiserar och hanterar MongoDB med ClusterControl

  3. Hur slår jag in axios.get flera svarsresultat i en array?

  4. MongoDB:varför returnerar find och findOne bara det sista arrayelementet?