Python MongoDB分组

Python MongoDB分组,python,mongodb,Python,Mongodb,我试图计算出按性别分组的平均年龄。预期产出应为 {'_id': {'gender': 'M'},{'avg': '27.1}} {'_id': {'gender': 'F'}},{'avg': '29.0}} 下面是我的代码 pipeline = [ { "$project" : { "_id" : {'gender':"$gender"}, "avg": {"$avg":"$age"}, } }

我试图计算出按性别分组的平均年龄。预期产出应为

{'_id': {'gender': 'M'},{'avg': '27.1}}
{'_id': {'gender': 'F'}},{'avg': '29.0}}
下面是我的代码

pipeline = [
    {
        "$project" : { 
            "_id" : {'gender':"$gender"},
            "avg": {"$avg":"$age"},
        }
    },
    {"$group" : {"_id":"$_id"}},

]

for doc in db.user.aggregate(pipeline):
    print(doc)
现在的问题是:

{'_id': {'gender': 'M'}}
{'_id': {'gender': 'F'}}

任何帮助都将不胜感激!我知道这可能很简单….

以下管道将为您提供每个性别的平均年龄。投影前需要分组

[
{
“$group”:{
“_id”:“$性别”,
“avrg”:{
$avg:“$age”
}
}
},
{
“$project”:{
“性别”:“$\u id”,
“平均值”:“$avrg”,
“\u id”:0
}
}
]
以下是生成上述内容的c#测试程序:

使用MongoDB.Entities;
使用MongoDB.Entities.Core;
使用制度;
使用System.Linq;
命名空间堆栈溢出
{
公共类人员:实体
{
公共字符串名称{get;set;}
公共字符串{get;set;}
公共整数{get;set;}
}
公共课程
{
私有静态void Main(字符串[]args)
{
新数据库(“测试”、“本地主机”);
(新[]{
新人{Name=“one”,Gender=“M”,年龄=30},
新人{Name=“two”,Gender=“M”,年龄=30},
新人{Name=“三”,Gender=“F”,年龄=40},
新人{Name=“four”,Gender=“F”,年龄=40},
}).Save();
var res=DB.Queryable()
.GroupBy(p=>p.Gender)
.选择(g=>new
{
性别=g.键,
平均值=g.平均值(p=>p.年龄)
})
.ToArray();
foreach(在res中的var r)
{
Console.WriteLine($“性别:{r.Gender}平均:{r.avg}”);
}
Console.ReadKey();
}
}

}
请提供样本文件。。