如何找到不同的字段与两列使用聚合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"
}
},

])

Mongo Playground Sample Execution

相关内容

  • 没有找到相关文章

最新更新