如何根据mongodb聚合中的字段值获取文档详细信息

时间:2019-01-29 09:29:30

标签: node.js mongodb

我有一个名为用户的收藏集

var UserSchema = new Schema({ name: String, age: Number, points: {type: Number, default: 0} })

所有用户都有一些不同的观点,例如5、10、20、50 所以我想统计拥有5分,10分等的用户数量,并且还想显示所统计的用户详细信息,例如谁是拥有5分,10分等的用户。

如何在$ aggregate中为此编写查询

1 个答案:

答案 0 :(得分:0)

您可以编写一个小组讨论阶段,并使用$ push运算符推送所有需要的值

db.collection.aggregate([
  {
    "$group": {
      "_id": "$points",
      "details": {
        "$push": {
          "name": "$name",
          "age": "$age"
        }
      }
    }
  }
])

在上面的示例中,我根据得分进行了分组,对于每个组,您将获得一个数组,其中包含拥有这些得分的人的姓名和年龄