one many mongodb foreign-keys objectid

many - MongoDB almacenando arrays de ObjectId''s



mongodb reference (2)

A menos que tenga una buena razón para no hacerlo, almacénelos como una matriz de ObjectIds. Es más compacto (12 bytes vs. 24) y refleja con mayor precisión lo que está almacenado. También puede habilitar el soporte a nivel de controlador para las siguientes referencias de ObjectId.

En mi base de datos tengo que almacenar una matriz de identificadores de objetos. ¿Qué debo usar? Algo como esto:

[ObjectId("50350e12a36feb1be6000364"), ObjectId("57350e12a37fef1be6000922"), ObjectId("10350e17d34ffb1be6200925")]

o algo como esto:

["50350e12a36feb1be6000364", "57350e12a37fef1be6000922", "10350e17d34ffb1be6200925"]

Podría ahorrar espacio con el segundo y luego convertirlo en ObjectId , pero ¿estoy perdiendo algo al usar este enfoque? ¿Se comportan los ObjectId s como claves foráneas en bases de datos relacionales?


Definitivamente me gustaría ir con el primer enfoque, almacenando los ObjectId s directamente. Esto ahorra espacio, ya que ObjectId tiene 12 bytes, mientras que la segunda cadena de aproximación es de 24 bytes.

Además, si los ObjectId s se utilizan para recuperar los objetos más tarde, el almacenamiento como ObjectId ahorra algunos problemas.