Diciamo che voglio mantenere un elenco di elementi per utente (in MongoDB con Mongoose ODM nell'ambiente Node.js) e successivamente interrogare per vedere se un oggetto è di proprietà di un utente. Ad esempio, desidero memorizzare tutti i colori preferiti di ciascun utente e in seguito verificare se un determinato colore è di proprietà di un utente specifico. Mi sembra che sarebbe meglio memorizzare i colori come un oggetto incorporato all'interno del documento utente, piuttosto che una matrice all'interno del documento dell'utente. Il motivo è che sembra più efficace per controllare per vedere se un colore esiste in un oggetto come posso solo controllare per vedere se la proprietà oggetto esiste:Matrici MongoDB vs oggetti
if(user.colors.yellow){
//true case
} else {
//false case
}
Versus un array in cui devo scorrere la intero array per vedere se il colore esiste da qualche parte nella matrice:
for (var i = 0; i < user.colors.length; i++) {
if(user.colors[i] === "yellow"){
//true case
} else {
//false case
}
}
Tuttavia, da molti degli esempi che ho visto on-line, sembra che l'utilizzo di matrici per questo tipo di cose è abbastanza diffuso. Mi sto perdendo qualcosa? Quali sono i pro/contro e il modo migliore per farlo?
puoi fornire qualche collegamento a tali consigli? – c69