我想找到相同性别的匹配项,并将它们插入到一个新的字段数组(又名名称)中,但我无法使用MongoDB或mongooese解决方案。
输入示例:
db.students.insertMany([
{ id: 1, name: "Ryan", gender: "M" },
{ id: 2, name: "Joanna", gender: "F" },
{ id: 3, name: "Andy", gender: "M" },
{ id: 4, name: "Irina", gender: "F" }
]);
预期输出:
[
{ gender: "M", names: ["Ryan","Andy"]},
{ gender: "F", names: ["Joanna","Irina"]}
]
- 注:表中有许多记录,我事先不知道这些性别/姓名对 *
我尝试了这个查询,但没有结果。我不知道该如何编写这个查询。
db.students.aggregate([
{
$group:{
names : {$push:"$name"},
}
},
{ "$match": { "gender": "$gender" } }
])
1条答案
按热度按时间8iwquhpp1#
您没有指定分组方式。请尝试以下方式: