如何使用MongoDB聚合查询两列唯一值并将其他字段分组为数组
MongoDB聚合操作实现方案
你可以直接使用以下聚合语句完成需求:
db.你的集合名称.aggregate([ // 联合分组阶段 { $group: { _id: { categoryCode: "$categoryCode", categoryName: "$categoryName" }, cat_type: { $push: "$cat_type" } } }, // 输出结构调整阶段 { $project: { _id: 0, categoryCode: "$_id.categoryCode", categoryName: "$_id.categoryName", cat_type: 1 } } ])
补充说明
- 如果需要对同分组内重复的
cat_type值去重,将$push替换为$addToSet即可。$push会保留分组内所有cat_type的原始值(含重复项),$addToSet会自动去重后生成数组。 - 上述语句执行后输出的结构和你给出的预期格式完全匹配。
内容的提问来源于stack exchange,提问作者prabhakar srivastava
相关产品推荐
相关产品推荐

