Digamos que deseo mantener una lista de elementos por usuario (en MongoDB con Mongoose ODM en el entorno Node.js) y luego consultar para ver si un elemento es propiedad de un usuario. Por ejemplo, quiero almacenar todos los colores favoritos de cada usuario y luego ver si un color específico es propiedad de un usuario específico. Me parece que sería mejor almacenar los colores como un objeto incrustado dentro del documento del usuario, en lugar de una matriz dentro del documento del usuario. La razón es que parece más eficiente que comprobar para ver si existe un color de un objeto tan sólo puedo comprobar para ver si existe la propiedad del objeto:Matrices MongoDB contra objetos
if(user.colors.yellow){
//true case
} else {
//false case
}
Versus una matriz en donde tengo que recorrer a través de la toda matriz para ver si existe el color en algún lugar de la matriz:
for (var i = 0; i < user.colors.length; i++) {
if(user.colors[i] === "yellow"){
//true case
} else {
//false case
}
}
Sin embargo, en muchos de los ejemplos que he visto en línea, parece que la utilización de matrices para este tipo de cosas es bastante frecuente. ¿Me estoy perdiendo de algo? ¿Cuáles son los pros/contras, y la mejor manera de hacer esto?
¿Puede proporcionar algún vínculo a tales consejos? – c69