sql >> Base de Datos >  >> NoSQL >> MongoDB

Campo incremental a la colección existente

Bueno, usando el enlace que mencionaste , prefiero usar enfoque de colección de contadores .

El enfoque de colecciones de contadores tiene algunos inconvenientes, que incluyen:

  • Siempre genera solicitudes múltiples (dos):una para obtener el número de secuencia, otra para hacer la inserción usando la identificación que obtuvo a través de la secuencia,
  • Si está utilizando funciones de fragmentación de mongodb, un documento responsable de almacenar un estado de contador puede usarse mucho, y cada vez llegará al mismo servidor.

Sin embargo, debería ser apropiado para la mayoría de los usos.

El enfoque que mencionó ("the optimista bucle" ) no debería romper la OMI, y no supongo por qué tiene un problema con eso. Sin embargo, no lo recomendaría. ¿Qué sucede si ejecuta el código en varios clientes mongo, si uno tiene mucha latencia y otros siguen tomando ID? No me gustaría encontrarme con este tipo de problema... Además, hay al menos dos solicitudes por operación exitosa, pero no hay un máximo de reintentos antes de un éxito...