Cela dépend fortement de la relation entre vos objets (c'est-à-dire le rapport entre le nombre d'objets de chaque côté de la relation et la fréquence des mises à jour), cela dépend donc de votre application et de vos besoins.
Une bonne ressource à consulter (que vous pourriez considérer comme une "meilleure pratique") est le blog de MongoDB sur la dénormalisation :
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
bref, car c'est un vaste sujet :on parle de relation N-N, et cela dépend du rapport des N
Si les objets sont immuables, il est recommandé de les imbriquer dans un autre objet car vous n'aurez pas à gérer les mises à jour et la recherche est simplifiée.
Si les objets ne sont pas immuables, vous devez pondérer le coût des mises à jour par rapport au coût de la recherche dans une collection pour rechercher l'ID, puis rechercher dans l'autre collection les objets associés à cet/ces ID.