sql >> データベース >  >> NoSQL >> MongoDB

MongoDB:クロスコレクションクエリ

    一度に複数のコレクションをクエリする方法はありません。

    最良のアプローチは、ドキュメントがすべて同じ一般的なタイプである場合、すべてのドキュメントを同じコレクションに格納することです。あなたの例では、ブログ投稿とニュースアイテムの両方が一種の「コンテンツ」です。

    content
    {
      type: "blogpost",
      title: "Example",
      slug: "example-post"
      tags: ["foo", "bar"]
    },
    {
      type: "blogpost",
      title: "Example2",
      slug: "example2"
      tags: ["foo"]
    },
    {
      type: "news",
      headline: "Test"
      slug: "test-news"
      tags: ["bar"]
    }
    

    このアプローチは、MongoDBのスキーマレスの性質を利用しています。両方のドキュメントタイプのプロパティが異なる場合がありますが、すべて同じコレクションに保存できます。これにより、要件に応じて、すべてのコンテンツ、または一部のタイプのコンテンツのみをクエリできます。



    1. MongoDBの既存のインデックスを削除せずに変更できますか?

    2. mongoのサブドキュメントインデックス

    3. Redis `SCAN`:一致する可能性のある新しいキー間のバランスを維持し、最終的な結果を妥当な時間で確保するにはどうすればよいですか?

    4. すべてのフィールドを返すMongoDBAggregate