gpt4 book ai didi

mongodb - 如何聚合嵌套文档?

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

我有一个收藏:

{
_id : xxx,
children : [
{
childrenOfChildren : [
{
price : xxx
},
{
price : xxx
},
{
price : xxx
}
]
},
{
childrenOfChildren : [
{
price : xxx
},
{
price : xxx
},
{
price : xxx
}
]
},
{
childrenOfChildren : [
{
price : xxx
},
{
price : xxx
},
{
price : xxx
}
]
}
]
},

{
_id : xxx,
children : [
{
childrenOfChildren : [
{
price : xxx
},
{
price : xxx
},
{
price : xxx
}
]
},
{
childrenOfChildren : [
{
price : xxx
},
{
price : xxx
},
{
price : xxx
}
]
},
{
childrenOfChildren : [
{
price : xxx
},
{
price : xxx
},
{
price : xxx
}
]
}
]
},

{
_id : xxx,
children : [
{
childrenOfChildren : [
{
price : xxx
},
{
price : xxx
},
{
price : xxx
}
]
},
{
childrenOfChildren : [
{
price : xxx
},
{
price : xxx
},
{
price : xxx
}
]
},
{
childrenOfChildren : [
{
price : xxx
},
{
price : xxx
},
{
price : xxx
}
]
}
]
},

{
_id : xxx,
children : [
{
childrenOfChildren : [
{
price : xxx
},
{
price : xxx
},
{
price : xxx
}
]
},
{
childrenOfChildren : [
{
price : xxx
},
{
price : xxx
},
{
price : xxx
}
]
},
{
childrenOfChildren : [
{
price : xxx
},
{
price : xxx
},
{
price : xxx
}
]
}
]
}

每个条目都有一个名为children 的数组。 children 中的每个条目都有一个名为 childrenOfChildren 的数组。 childrenOfChildren 中的每个条目都有一个名为 price 的属性。我想在整个系列中获得最大的价格值(value)。我怎样才能做到这一点?请帮助我!

最佳答案

您可以使用 $unwind 和 $group 来完成此操作。

db.collection.aggregate([
{
$unwind:"$children"
},
{
$unwind:"$children.childrenOfChildren"
},
{
$group:{
_id:null,
maxPrice:{
$max:"$children.childrenOfChildren.price"
}
}
}
])

输出:

{ "_id" : null, "maxPrice" : 110 }

在线试用:mongoplayground.net/p/sBTclni0YSw

关于mongodb - 如何聚合嵌套文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41356669/

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