それはあなたがデータをどのように消費することを計画しているかによると思います。たとえば、読み取りが集中していて、オブジェクト内のユーザーのユーザー名にのみアクセスする場合は、コメント内のその情報も複製する方がよいでしょう。もちろん、ユーザー名の変更を許可する場合、これは更新コストの増加につながります。また、コメントを最新のユーザー名で更新することが重要です。代わりに、1つのビューコンテキスト用に作成された効果的なビュー/ドキュメントを作成したため、読み取りモデルにドキュメントストレージを使用し、データを複製する方法を採用しました。確かに、更新はより多くのリソースを消費しましたが、私たちにとってはそれで問題ありませんでした。IDに基づいてdoc1とdoc2の間の「手動」参照を使用して、他の構成でも作業を行っています。O / RMよりも少し手作業が多くなりますが、魔法ははるかに少なくなります。
BlogPost-<1:N>-Commentsの典型的な例があります。ここでは、IDを介してアクセスできる投稿にコメントを含めることができます。繰り返しますが、これをどのように使用しますか?投稿を表示せずにコメントを使用することはありますか?投稿を見るとき、あなたはいつもコメントに興味がありますか?MongoDBの16MBのようなドキュメントサイズの合計ストレージに根本的な制限はありますか?次に、分割する必要があるかもしれません。
私は非常に漠然とした応答を知っていますが、それは非常に「ユースケースによって異なります」という質問でもあります。