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

mongodbの同じコレクションのユニオン

    探しているものに最も近いMongoDBオペレーターは、$orです。 、しかし、それは2つの別々のクエリを1つの結果に結合するSQLUNIONとはまったく同じではありません。 MongoDBクエリは常に単一のコレクションに対して行われますが、$or 複数のクエリ句を使用できます。

    例:

    db.collection.find(
        // Find documents matching any of these values
        {$or:[
            {var1: 123},
            {var2: 456},
            {var3: 789}
        ]}
    ).sort(
        // Sort in ascending order
        {var1:1, var2:1, var3:1}
    )
    

    クエリは1つのコレクションに制限されているため、結果はドキュメントレベルで既に重複排除されており、指定されている場合はすべての結果が同じ並べ替え順序を共有します。

    MongoDBでUNION(または複数のコレクション/クエリを処理する他の操作)をシミュレートする場合は、複数のクエリを記述し、アプリケーションコードで結果セットをマージする必要があります。




    1. mongodbの配列要素を削除する方法は?

    2. Rails3.2でMongoidを使用するときにdatabase.ymlを削除する

    3. MongoDBへのメルトダウンパフォーマンスの影響:AWS、Azure、DigitalOcean

    4. DjangoとExpress.jsアプリケーションのRedisでセッションストアを共有する