http://www.mongodb.org /display/DOCS/How+to+Make+an+Auto+Incrementing+Field
Der erste Ansatz besteht darin, Zähler in einem Nebendokument zu führen:
Der andere Ansatz besteht darin, optimistisch eine Schleife zu durchlaufen und den Dup-Key-Fehlercode 11000 zu handhaben, indem die ID für den Grenzfall von Kollisionen fortgesetzt und erhöht wird. Das funktioniert gut, es sei denn, es gibt eine hohe Anzahl gleichzeitiger Schreibvorgänge in eine bestimmte Sammlung.
Beachten Sie jedoch die Warnung auf dieser Seite:
Andere zu beachtende Dinge:
- Zeitstempel - eindeutig lang, aber nicht inkrementierend (basierend auf der Epoche)
- Hybrider Ansatz – Apps müssen sich nicht unbedingt für eine Speicheroption entscheiden.
- Erfinden Sie Ihren ID-Mechanismus basierend auf Dingen wie Kunde, Datums-/Uhrzeitteilen usw., für die Sie Kollisionen generieren und handhaben. Je nach Schema können Kollisionen viel weniger wahrscheinlich sein. Nicht unbedingt inkrementierend, aber eindeutig und mit einem gut definierten lesbaren Muster.