Powiedzmy, że chcę zachować listę pozycji na użytkownika (w MongoDB z Mongoose ODM w środowisku Node.js), a następnie zapytanie, czy dany element jest własnością użytkownika. Na przykład chcę zapisać wszystkie ulubione kolory każdego użytkownika, a następnie sprawdzić, czy określony kolor jest własnością określonego użytkownika. Wydaje mi się, że lepiej byłoby przechowywać kolory jako obiekt osadzony w dokumencie użytkownika, niż tablicę w dokumencie użytkownika. Powodem, dla którego jest to, że wydaje się bardziej wydajne, aby sprawdzić, czy istnieje kolor w obiekcie, jak można po prostu sprawdzić, czy właściwość obiektu istnieje:MongoDB arrays vs objects
if(user.colors.yellow){
//true case
} else {
//false case
}
Versus tablicy gdzie mam iterację cała tablica, czy kolor istnieje gdzieś w tablicy:
for (var i = 0; i < user.colors.length; i++) {
if(user.colors[i] === "yellow"){
//true case
} else {
//false case
}
}
jednak z wielu przykładów widziałem w internecie, wydaje się, że za pomocą tablic do tego typu rzeczy jest dość powszechne. Czy czegoś brakuje? Jakie są plusy/minusy i najlepszy sposób na zrobienie tego?
można dostarczyć żadnych linków do takich rad? – c69