あなたの場合、参照データを使用することをお勧めします。これらの各コレクションを独自に操作する必要があると思います(_idで「製品」を編集/削除/更新できる必要があり、その他の複雑なクエリを実行できる必要があります。これは、個別に作成するとはるかに簡単で効果的です。コレクション)。
同時に、いくつかを保存します 訪問者のブラウザへの表示を高速化するためだけに、Usersコレクションに完全に埋め込まれたデータ。ユーザーのプロフィールとトップ5の市場およびトップ20の製品を表示したいユーザーのページがあるとします。これらの最新のトップ5およびトップ20をユーザーのドキュメントに埋め込み、新しい市場/製品がある場合はそれらの埋め込みオブジェクトを更新できます。この場合、ユーザーのページを表示するときに、MongoDBに対して1つのクエリを実行するだけで済みます。したがって、これはキャッシュとして機能します。訪問者がさらに多くの製品を表示する必要がある場合は、次のページ「製品」に移動し、MongoDBの個別の「製品」コレクションを照会します。