W dużym stopniu zależy to od relacji między Twoimi obiektami (tj. stosunku liczby obiektów po każdej stronie relacji i częstotliwości aktualizacji), więc zależy to od Twojej aplikacji i wymagań.
Dobrym źródłem informacji (które można uznać za „najlepszą praktykę”) jest blog MongoDB na temat denormalizacji:
http:/ /blog.mongodb.org/post/87200945828/6-rules-of-thumb-for-mongodb-schema-design-part-1
http:/ /blog.mongodb.org/post/87892923503/6-rules-of-thumb-for-mongodb-schema-design-part-2
http:/ /blog.mongodb.org/post/88473035333/6-rules-of-thumb-for-mongodb-schema-design-part-3
w skrócie, bo to szeroki temat:mówimy o relacji N-N i zależy ona od stosunku N
Jeśli obiekty są niezmienne, zaleca się zagnieżdżanie ich w innym obiekcie, ponieważ nie będziesz musiał zajmować się aktualizacjami, a wyszukiwanie jest banalne.
Jeśli obiekty nie są niezmienne, należy ważyć koszt aktualizacji w porównaniu z kosztem przeszukiwania kolekcji w celu wyszukania identyfikatora, a następnie przeszukać inną kolekcję w poszukiwaniu obiektów powiązanych z tym/tym identyfikatorem.