gpt4 book ai didi

mongodb - 如何从 mongo 聚合查询中的组值中过滤掉空数组元素?

转载 作者:行者123 更新时间:2023-12-04 11:43:04 27 4
gpt4 key购买 nike

我的总 $group 是:

{
$group: {
_id: { ["$dayOfYear"]: "$TagDateCreated" },
disqualified: {
$addToSet: {
$cond: {
if: { $in: [ "$TagId", [109,220,115,113,238] ]},
then: "$ContactId",
else: null
}
}
}
}
}

这给了我一组唯一的 contactId 作为取消资格,但我需要删除空值。我试过在 $project 中省略 else 语句中的 $cond 和各种 $filters,它们要么不删除任何内容,要么删除所有内容,要么出错。

最佳答案

您可以在 $group 之后添加下一个管道阶段:

{
$addFields: {
disqualified: {
$filter: {
input: "$disqualified",
as: "d",
cond: {
$ne: [ "$$d", null ]
}
}
}
}
}

$addFields将覆盖现有数组并使用 $filter您可以删除 null值(value)

关于mongodb - 如何从 mongo 聚合查询中的组值中过滤掉空数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52209267/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com