如何使用聚合 MongoDB 查找具有两列的不同字段
Posted
技术标签:
【中文标题】如何使用聚合 MongoDB 查找具有两列的不同字段【英文标题】:How to find Distinct Field with two column using Aggegation MongoDB 【发布时间】:2021-11-30 07:18:59 【问题描述】:我有类别代码和类别名称与组和其他字段组与数组。 样本数据-
[
"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]
]
如何以独特的价值实现这一目标。
【问题讨论】:
【参考方案1】:将$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
【讨论】:
以上是关于如何使用聚合 MongoDB 查找具有两列的不同字段的主要内容,如果未能解决你的问题,请参考以下文章