gpt4 book ai didi

mongodb - 在 mongodb 中查找第三级嵌套数组文档的计数

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

我需要在单个查询中找到状态为 'a' 的计数以及数组 'Y' 中元素的总数,其中 ' X''Y' 是嵌套的文档数组。

集合类似如下:

{
X: [
{
Y:[
{
STATUS: 'a'
},
{
STATUS: 'a'
},
{
STATUS: 'b'
}
]
}
]
}

单个 mongodb 查询,用于查找状态 'a' 的计数和数组 'Y' 中的元素总数。

所需结果是 'a' 的计数,即 2'Y' 中的元素总数,即 3

最佳答案

您可以使用 $map转换数组和 $filter检查状态是否等于 "a"$size给你数组中元素的数量。尝试:

db.collection.aggregate([
{
$project: {
X: {
$map: {
input: "$X",
as: "xx",
in: {
Y: {
total: { $size: "$$xx.Y" },
a: { $size: { $filter: { input: "$$xx.Y", as: "yy", cond: { $eq: [ "$$yy.STATUS", "a" ] } } } }
}
}
}
}
}
}
])

关于mongodb - 在 mongodb 中查找第三级嵌套数组文档的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52887842/

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