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

汎用セット操作(和集合、積集合、差)にMongoDB集計を使用する方法

    バージョン2.6以降のみ:

    MongoDBのバージョン2.6以降、これははるかに簡単になりました。これで、この問題を解決するために次のことができます。

    ユニオン

    db.colors.aggregate([
        {'$project': {  
                        union:{$setUnion:["$left","$right"]}
                     }
        }
    ]);
    

    交差点

    db.colors.aggregate([
        {'$project': {  
                      int:{$setIntersection:["$left","$right"]}
                     }
        }
    ]);
    

    相対的な補数

    db.colors.aggregate([
        {'$project': {  
                        diff:{$setDifference:["$left","$right"]}
                     }
        }
    ]);
    

    対称差

    db.colors.aggregate([
        {'$project': {  
                        diff:{$setUnion:[{$setDifference:["$left","$right"]}, {$setDifference:["$right","$left"]}]}
                     }
        }
    ]);
    

    注:チケット があります 2つのセットの差を結合するのではなく、対称差をコア機能として追加するように要求します。



    1. Redisクラスターフェイルオーバー:スレーブはマスターになりません

    2. 少なくとも1つの関連オブジェクトを含むレコードを取得する

    3. 動的model.findを使用したマングースからの結果のクエリ

    4. Pythonを使用してJSONファイルをMongoDBにインポートする方法