[英]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_Orn
和Winback_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.