gpt4 book ai didi

node.js - 使用聚合计数的总数

转载 作者:可可西里 更新时间:2023-11-01 09:11:06 25 4
gpt4 key购买 nike

在下面的代码中没有 $match,我得到了结果,但是在包含 $project 之后,我得到了 mongodb 的错误“Someting went wrong”。

[
{
$project: {
mydata: {
$cond: {
if: { $isArray: '$activities' },
then: {
$size: '$activities'
},

else: 'NA'
}
}
}
},
{ $match: { mydata: { $gt: 1 } } }
];

所以,我需要计算所有值大于 1 的 mydata

最佳答案

您的 else 子句似乎是引发错误的子句,因为在管道的更深处,您可能会将字符串与数字进行比较。我建议给默认值 0 并检查是否会引发错误。

但是,更好的方法是使用 $expr运算符为 find()允许您查询计算字段的查询:

db.collection.find({ 
"$expr": {
"$gt": [
{ "$size": {
"$cond": [
{ "$isArray": "$activities" },
"$activities",
[]
]
} },
1
]
}
})

关于node.js - 使用聚合计数的总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57620660/

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