MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Criando números incrementais com mongoDB


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

A primeira abordagem é manter os contadores em um documento paralelo:

A outra abordagem é fazer um loop otimista e lidar com o código de erro de chave dup de 11000, continuando e incrementando o id para o caso extremo de colisões. Isso funciona bem, a menos que haja gravações de alta simultaneidade em uma coleção específica.

Mas esteja ciente do aviso nessa página:

Outras coisas a considerar:
  • Timestamp - único longo, mas não incrementado (baseado na época)
  • Abordagem híbrida - os aplicativos não precisam necessariamente escolher uma opção de armazenamento.
  • Crie seu mecanismo de identificação com base em itens como cliente, partes de data/hora etc... que você gera e lida com colisões. Dependendo do esquema, as colisões podem ser muito menos prováveis. Não necessariamente incrementando, mas é único e tem um padrão legível bem definido.