如何使用聚合找到具有两列的不同字段 MongoDB
How to find Distinct Field with two column using Aggegation MongoDB
我有带组的类别代码和类别名称以及带数组的其他字段组。
示例数据-
[
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_type":A
},
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_type":B
},
{
"categoryCode":"categoryCode2",
"categoryName":"categoryName2",
"cat_type":B
}
]
和预期输出:
[
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_type":[A,B]
},
{
"categoryCode":"categoryCode2",
"categoryName":"categoryName2",
"cat_type":[B]
}
]
如何实现具有不同价值的目标。
对相应字段使用 $group
聚合阶段和 $addToSet
运算符。
db.collection.aggregate([
{
"$group": {
"_id": {
"categoryCode": "$categoryCode",
"categoryName": "$categoryName",
},
"cat_type": {
"$addToSet": "$cat_type"
}
},
},
{
"$project": {
"_id": 0,
"categoryCode": "$_id.categoryCode",
"categoryName": "$_id.categoryName",
"cat_type": "$cat_type"
}
},
])
我有带组的类别代码和类别名称以及带数组的其他字段组。 示例数据-
[
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_type":A
},
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_type":B
},
{
"categoryCode":"categoryCode2",
"categoryName":"categoryName2",
"cat_type":B
}
]
和预期输出:
[
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_type":[A,B]
},
{
"categoryCode":"categoryCode2",
"categoryName":"categoryName2",
"cat_type":[B]
}
]
如何实现具有不同价值的目标。
对相应字段使用 $group
聚合阶段和 $addToSet
运算符。
db.collection.aggregate([
{
"$group": {
"_id": {
"categoryCode": "$categoryCode",
"categoryName": "$categoryName",
},
"cat_type": {
"$addToSet": "$cat_type"
}
},
},
{
"$project": {
"_id": 0,
"categoryCode": "$_id.categoryCode",
"categoryName": "$_id.categoryName",
"cat_type": "$cat_type"
}
},
])