【问题标题】:How to find Distinct Field with two column using Aggegation MongoDB如何使用聚合 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]
   }
]

如何以独特的价值实现这一目标。

【问题讨论】:

    标签: mongodb mongoose mongodb-query aggregation-framework


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-29
      • 1970-01-01
      • 2017-05-08
      • 2021-02-27
      • 2016-08-16
      • 2013-09-01
      • 1970-01-01
      相关资源
      最近更新 更多