如何在猫鼬组中以数组的形式获取数据

舒巴姆·肖

我有一个数据集,例如代码链接

我使用了这个 mongo 查询

db.collection.aggregate([
  {
    "$match": {}
  },
  {
    "$sort": {
      "price": 1
    }
  },
  {
    "$group": {
      "_id": "$name",
      "foodType": {
        "$first": "$type"
      }
    }
  },
  
])

它没有聚合类型。代码链接

如何进行聚合,或者使用什么函数,以便我type object根据名称或商品将所有组聚合为一个数组

[
  {
    "_id": "Shubham",
    "foodType": [{
      "packed": true,
      "rating": 4,
      "veg": false
    },
    {
      "veg": true,
      "packed": false,
      "rating": 3
    }]
  },
  {
    "_id": "Rahul",
    "foodType": [{
      "packed": true,
      "rating": 4,
      "veg": false
    },
    {
      "veg": false,
      "packed": true,
      "rating": 4
    }
    {
      "veg": false,
      "packed": false,
      "rating": 2
    }]
  }
]
分形397

您可以在 $group 中使用 $push 运算符,

db.collection.aggregate([
  {
    "$match": {}
  },
  {
    "$sort": {
      "price": 1
    }
  },
  {
    "$group": {
      "_id": "$name",
      "foodType": {
        $push:{
          veg:"$type.veg",
          packed:"$type.packed",
          rating:"$type.rating",
        }
      }
    }
  },
  
])

参考这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章