ここのmongoドキュメントから:データモデリング
特定の状況では、単一のコレクションではなく、いくつかのコレクションに情報を保存することを選択する場合があります。
さまざまな環境やアプリケーションのログドキュメントを保存するサンプル収集ログについて考えてみます。ログコレクションには、次の形式のドキュメントが含まれています。
{ログ: "dev"、ts:...、情報:...} {ログ: "デバッグ"、ts:...、情報:...}
ドキュメントの総数が少ない場合は、ドキュメントをタイプ別にグループ化できます。ログの場合は、logs.devやlogs.debugなどの個別のログコレクションを維持することを検討してください。 logs.devコレクションには、開発環境に関連するドキュメントのみが含まれます。
一般に、コレクションの数が多いと、パフォーマンスが大幅に低下することはなく、非常に優れたパフォーマンスが得られます。個別のコレクションは、高スループットのバッチ処理にとって非常に重要です。
また、10genの男と話しました。非常に大きなコレクションの場合、彼は、より小さな、より具体的なコレクションに分離することの複数の利点を挙げました。すべてのデータに1つのコレクションを使用し、インデックスを使用することについての彼のコメントは次のとおりです。
あなたが何かをすることができるからといって、あなたがすべきだという意味ではありません。データを適切にモデル化します。 1つの大きなコレクションとインデックスに保存するのは簡単かもしれませんが、それが常に最善のアプローチであるとは限りません。