簡體   English   中英

mongodb $cond 里面的 $cond

[英]Mongodb $cond inside $cond

我必須對 Campaign_Name 進行分組操作,然后對將根據某些條件決定的字段求和聚合器。 我在以下代碼示例中遇到一些語法錯誤:

   $group : {
              _id: "$Campaign_Name",
              Basecount: {
                $sum: {
                  $cond: [
                    { "Recharge_Flag_Overall": { $eq: "NA"} },
                    $cond: [
                      { "Plus_Orn" : { $eq: 0} },
                      "$Winback_Orn",
                      "$Plus_Orn"
                    ],
                    "$Basecount"
                  ]
                }
              }
            }

現在,求和聚合器的條件是,如果Recharge_Flag_Overall的值為“NA”,那么我需要檢查Plus_Orn的值,如果它是 1,那么我必須取Plus_Orn的總和,否則取字段的總和命名為Winback_Orn 否則,如果Recharge_Flag_Overall值不是“NA”,那么簡單地說,我必須取名為Basecount的字段的總和

注意: Plus_OrnWinback_Orn的值只有 0 或 1

你快到了,只需要更正$eq運算符的語法,

  {
    $group: {
      _id: "$Campaign_Name",
      Basecount: {
        $sum: {
          $cond: [
            { $eq: ["$Recharge_Flag_Overall", "NA"] },
            {
              $cond: [
                { $eq: ["$Plus_Orn", 0] },
                "$Winback_Orn",
                "$Plus_Orn"
              ]
            },
            "$Basecount"
          ]
        }
      }
    }
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM