Obs :Mongo-id bör vara unikt som möjligt för att skala bra. Standard ObjectId består av en tidsstämpel, maskin-ID, process-ID och ett slumpmässigt ökande värde. Om du bara lämnar den med den sistnämnda blir den kollisionsbenägen.
Men ibland vill du verkligen försköna det oändliga ObjectID-värdet (dvs. att visas i URL:en efter kodning ). Sedan bör du överväga att använda en lämplig atominkrementstrategi .
Åsidosätter exemplet _id:
db.testSOF.insert({_id:"myUniqueValue", a:1, b:1})
Skapa en Sekvens för automatisk ökning :
- Använd Counters Collection :I grund och botten en separerad samling som håller reda på det sista numret i sekvensen. Personligen har jag tyckt att det är mer sammanhållet att lagra findAndModify-funktionen i system.js-samlingen, även om den saknar versionskontrollens funktioner.
- Optimistisk loop
Redigera:
Jag har hittat ett problem där sails-mongos ägare sa:
Han nämner den första tekniken jag lade till i det här svaret:Använd Counters Collection . I samma nummer, lewins visar en lösning.