Atenção :O ID do Mongo deve ser o único possível para escalar bem. O padrão ObjectId é composto por um carimbo de data/hora, ID de máquina, ID de processo e um valor de incremento aleatório. Deixá-lo apenas com o último o tornaria propenso a colisões.
No entanto, às vezes você quer muito embelezar o valor interminável do ObjectID (ou seja, para ser mostrado na URL após codificação ). Em seguida, considere usar uma estratégia de incremento atômico apropriada .
Substituindo o exemplo _id:
db.testSOF.insert({_id:"myUniqueValue", a:1, b:1})
Fazendo uma Sequência de incremento automático :
- Usar coleção de contadores :Basicamente uma coleção separada que mantém o controle do último número da sequência. Pessoalmente, achei mais coeso armazenar a função findAndModify na coleção system.js, embora falta recursos do controle de versão.
- Ciclo otimista
Editar:
Encontrei um problema em que o dono do sails-mongo dizia:
Ele menciona a primeira técnica que adicionei nesta resposta:Usar coleção de contadores . Na mesma edição, lewins mostra uma solução alternativa.