Bra*_*ley 6 mongodb aggregation-framework
我的总 $group 是:
{
$group: {
_id: { ["$dayOfYear"]: "$TagDateCreated" },
disqualified: {
$addToSet: {
$cond: {
if: { $in: [ "$TagId", [109,220,115,113,238] ]},
then: "$ContactId",
else: null
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这给了我一组唯一的 contactId 作为取消资格,但我需要删除空值。我试过在 $project 中省略 $cond 和各种 $filters 中的 else 语句,它们要么不删除任何内容,要么删除所有内容,要么出错。
您可以在以下之后添加下一个管道阶段$group:
{
$addFields: {
disqualified: {
$filter: {
input: "$disqualified",
as: "d",
cond: {
$ne: [ "$$d", null ]
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
$addFields将覆盖现有数组并使用$filter可以删除null值
| 归档时间: |
|
| 查看次数: |
3795 次 |
| 最近记录: |