Opgelet :Mongo-ID moet uniek mogelijk zijn om goed te kunnen schalen. De standaard ObjectId Het bestaat uit een tijdstempel, computer-ID, proces-ID en een willekeurig oplopende waarde. Als je hem alleen bij de laatste laat, is hij vatbaar voor botsingen.
Soms wilt u echter de oneindige ObjectID-waarde mooier maken (d.w.z. getoond worden in de URL na codering ). Overweeg dan om een geschikte atomaire incrementstrategie te gebruiken .
Overschrijven het _id voorbeeld:
db.testSOF.insert({_id:"myUniqueValue", a:1, b:1})
Een Auto-Incrementing Sequence maken :
- Tellerverzameling gebruiken :Eigenlijk een gescheiden verzameling die het laatste nummer van de reeks bijhoudt. Persoonlijk vond ik het meer samenhangend om de findAndModify-functie op te slaan in de system.js-verzameling, hoewel het ontbreekt de mogelijkheden van versiebeheer.
- Optimistische lus
Bewerken:
Ik heb een probleem gevonden waarin de eigenaar van Sails-mongo zei:
Hij noemt de eerste techniek die ik in dit antwoord heb toegevoegd:Gebruik tellersverzameling . In hetzelfde nummer, lewins toont een oplossing.