如何解决计数基于嵌套键mongodb
如何根据doc上的xTag键进行计数 我试过了,但没有提供实际的计数
db.collection.find({
"products.xTag": {
$exists: false
}
}).count();
当您使用$exist:true
运行时,我期望结果1
使用$exist:false
运行时,我期望结果3
游乐场:https://mongoplayground.net/p/_gf7RzGc8oB
结构:
[
{
"item": 1,"products": [
{
"name": "xyz","xTag": 32423
},{
"name": "abc"
}
]
},{
"item": 2,"products": [
{
"name": "bob",},{
"name": "foo"
}
]
}
]
解决方法
使用find()不可能,可以使用aggregate(),
-
$unwind
解构products
数组 -
$match
您的情况 -
$count
个文档
db.collection.aggregate([
{ $unwind: "$products" },{ $match: { "products.xTag": { $exists: false } } },{ $count: "count" }
])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。