Mongodb 平均嵌套值
我在寻找一种方法来求和并平均文档中的“嵌套值”。我感兴趣的是平均一个用户的孩子数量。 这些行给我的结果是0Mongodb 平均嵌套值,mongodb,aggregation-framework,Mongodb,Aggregation Framework,我在寻找一种方法来求和并平均文档中的“嵌套值”。我感兴趣的是平均一个用户的孩子数量。 这些行给我的结果是0 db.getCollection('users').aggregate([ { $group: { _id: "id", Mean: { $avg: "$data.details.MemberDetails.numberOfKids" } } }]) 我在stackoverflow中读到了一些问题,以及我的数据位于一个对象中的问题,该对象
db.getCollection('users').aggregate([
{
$group: {
_id: "id",
Mean: {
$avg: "$data.details.MemberDetails.numberOfKids"
}
}
}])
我在stackoverflow中读到了一些问题,以及我的数据位于一个对象中的问题,该对象位于一个对象中的数组中
这就是数据的样子。
任何帮助都是有用的。
谢谢
/* 1 */
{
> "_id" : "160b2af1fdf06daf3",
> "userId" : "943af0fa65da28a4",
> "data" : {
> "details" : [
> {
> "MemberDetails" : {
>
> "numberOfKids" : 3,
> "Statuse" : "married",
>
> },
> "MemberDescroption" : {
> "hight" : 1.80,
> "wight" : 85,
> }
> }
> ]
> }
>
> }
在对文档进行分组之前,需要首先展平数组,请使用管道操作符:
db.getCollection('users').aggregate([
{ "$unwind": "$data.details" },
{
"$group": {
"_id": "id",
"Mean": {
"$avg": "$data.details.MemberDetails.numberOfKids"
}
}
}
])
在对文档进行分组之前,需要首先展平数组,请使用管道操作符:
db.getCollection('users').aggregate([
{ "$unwind": "$data.details" },
{
"$group": {
"_id": "id",
"Mean": {
"$avg": "$data.details.MemberDetails.numberOfKids"
}
}
}
])
嗨,谢谢你的快速回复。我看到了下一个错误“errmsg”:“异常:无法识别的管道阶段名称:'$uniwnd'”@NatiBarchilon感谢您注意到输入错误;已写入
“$uniwnd”
,而不是“$unwind”
。请再试一次,别忘了查看上的文档。谢谢,我没有注意到!所以对于总结,我也会这么做,再次感谢。嗨,谢谢你的快速回复。我看到了下一个错误“errmsg”:“异常:无法识别的管道阶段名称:'$uniwnd'”@NatiBarchilon感谢您注意到输入错误;已写入“$uniwnd”
,而不是“$unwind”
。请再试一次,别忘了查看上的文档。谢谢,我没有注意到!所以对于总结,我也会这么做,再次感谢。