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

Birtレポートの左側の結合で重複する行を取得する

    DeviceEventObjectの新しいデータセットを追加します

    コマンド式ビルダーに次の集計関数を追加します。

    以下の関数$lookup terminalIdとそれに続く$unwindに基づくステータスエラーコードの優先度レベルからのデータ データをフラット化します。

    $group terminalIdのデータをフラット化して、端末IDの個別の優先度レベルを累積します。

    $project 個別の優先度レベルをカウントするには

    [{$lookup:{
            from: "devicestatuserrorcodeprioirtylevel", // name of the collection
            localField: "terminal.terminalId",
            foreignField: "terminal.terminalId",
            as: "dsecpl"
    }},
    {$unwind:"$dsecpl"},
    {$group:{
        "_id":"$terminal.terminalId", 
        "prioritylevels":{"$addToSet":"$dsecpl.priorityLevel"},
        "events":{"$push":"$event"}
    }},
    {"$project":{"prioritylevelcount":{"$size":"$prioritylevels"}, "events": 1} }
    ]
    

    使用可能なすべてのフィールドを選択したフィールド列に移動します。

    結果をプレビューします。




    1. MongoDB-MySQL SUM(CASE WHEN)と同等ですか?

    2. MongoDB Atlasを使用すると、mongo-go-driverがサーバー選択タイムアウトで失敗する

    3. Mongoのドキュメント全体のサブドキュメントフィールドの平均

    4. 変数が設定されるのを待っているNode.JS