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

mongoDBアグリゲーションの$match内で$condを使用します

    ロジックを少し言い換えるだけです。

    { $match: { $expr: {
        $or: [
            { $and: [
                { $eq: [ "$id", 1206 ] },
                { $eq: [ "$field1", 0 ] }
            ]},
            { $and: [
                { $ne: [ "$id", 1206 ] },
                { $eq: [ "$field1", 1545001200 ] }
            ]},
        ],
    }}}
    
    

    論理的には、2つのステートメントは同等です:

    • field1 == 0をチェックしてドキュメントを照合します id == 1206の場合 、それ以外の場合は、field1 == 1545001200をチェックしてドキュメントを照合します
    • 次のいずれかの場合にドキュメントを照合します(id == 1206 およびfield1 == 0 )または(id != 1206 およびfield1 == 1545001200


    1. mongodbドキュメントのリストにアイテムを挿入する

    2. dbpathを変更した後、MongoDBが/etc/mongodb.confを使用していません

    3. mongodbアグリゲーションフレームワークで合計を行う

    4. 複数の日付範囲の$groupを集計します