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

Generación de autogeneración de _id vs. ObjectId en MongoDB

ObjectId Los s están ahí para situaciones en las que no tiene una clave única para cada documento en una colección. Son únicos, por lo que no tiene que preocuparse por los conflictos y se fragmentan razonablemente bien en implementaciones grandes sin demasiada preocupación (tienen ventajas y desventajas, lea más aquí ).

El ObjectId también contiene la marca de tiempo del cliente donde el ObjectId se generó (a menos que el servidor DB esté configurado para generar todas las claves). Con eso, como notó, puede usar la marca de tiempo para realizar algunas operaciones de fecha. Sin embargo, si planea usar Aggregation Framework, encontrará que no puede usar un ObjectId en cualquier operación de fecha actualmente (issue ). Si desea utilizar el AF, necesitará un segundo campo que contenga la fecha, lamentablemente almacenándolo dos veces con el ObjectId valor interno de .

Si puede estar seguro de que el _id que está generando es único, entonces no hay muchas razones para usar un ObjectId en su estructura de datos.