http://www.mongodb.org /display/DOCS/Cómo+crear+un+campo+de+incremento+automático
El primer enfoque es mantener los contadores en un documento lateral:
El otro enfoque es hacer un bucle de manera optimista y manejar el código de error de clave duplicada de 11000 al continuar e incrementar la identificación para el caso extremo de colisiones. Eso funciona bien a menos que haya escrituras de alta simultaneidad en una colección específica.
Pero tenga en cuenta la advertencia en esa página:
Otras cosas a considerar:
- Timestamp - único largo pero no incremental (basado en la época)
- Enfoque híbrido:las aplicaciones no necesariamente tienen que elegir una opción de almacenamiento.
- Cree su mecanismo de identificación basado en elementos como el cliente, las partes de fecha/hora, etc., que genera y maneja las colisiones. Dependiendo del esquema, las colisiones pueden ser mucho menos probables. No necesariamente incremental, pero es único y tiene un patrón legible bien definido.