/ / Tagi w MongoDB - mongodb, tagi

Tagi w MongoDB - mongodb, tagi

Jestem nowy w MongoDB.

Mam produkt, który może mieć wiele tagów. Widziałem tutoriale, w których kolekcja wyglądała następująco:

{
_id: 1234,
tags: ["stationery","electronics"]
}
{
_id: 456,
tags: ["home","electronics"]
}
{
_id: 135,
tags: ["books","stationery"]
}

Mam stałą listę tagów. Wszystkie moje produkty będą należeć do tych tagów. Teraz moje pytanie brzmi: jak przechowywać taką listę, aby po dodaniu nowego produktu wyświetlić tę listę i poprosić użytkownika o wybranie tagów tylko z tej listy?

Czy powinienem zrobić inny dokument o nazwie Tagi i zapisać odniesienie w każdej kolekcji? Jeśli to zrobię, podczas wyszukiwania produktów należących do kategorii Książki będę musiał uruchomić 2 zapytania.

Proszę zasugeruj!

Odpowiedzi:

1 dla odpowiedzi № 1

Przechowuj tagi, jak widać w samouczkach.

{
_id: 1234,
tags: ["stationary","electronics"]
}

Pozwala to na łatwe zapytania. Teraz, aby obsługiwać interfejs dodawania tagów, stworzyłem osobną kolekcję „tagów”, która składałaby się z bardzo prostych dokumentów

{ name: "stationary" }
{ name: "electronics" }
{ name: "books" }

(mongodb utworzy _id pole na nich, ale nie dbasz o to).

Twój interfejs użytkownika będzie czytał dokumenty z tej kolekcji i używał name właściwość do wypełnienia tags własność produktów.