Jestem całkowicie nowy w bazach danych zorientowanych na dokumenty, a teraz próbuję stworzyć coś w rodzaju CMS przy użyciu node.js i mongodb, więc mam do czynienia z takimi samymi problemami jak ty.
Metodą prób i błędów znalazłem następującą zasadę:tworzę kolekcję dla każdej jednostki, która może być „podmiotem” moich zapytań, a resztę osadzam w innych obiektach.
Na przykład komentarze we wpisie blogu mogą być osadzane, ponieważ zazwyczaj są one powiązane z samym wpisem i nie mogę myśleć o użytecznym zapytaniu globalnym we wszystkich komentarzach. Z drugiej strony, tagi dołączone do postu mogą zasługiwać na własną kolekcję, ponieważ nawet jeśli są powiązane z postem, możesz chcieć rozumować globalnie na temat wszystkich tagów (na przykład tworząc listę popularnych tematów).