如何在MongoDB中使用GroupBy语句

分类:知识百科 日期: 点击:0

MongoDB中的GroupBy语句可以用来按照指定的字段对文档进行分组,并且可以对分组后的文档进行计算操作,以得到更多的信息。

使用GroupBy语句的方法:

1、需要在MongoDB中创建一个数据集,例如:

db.collection.insertMany([
  {name: "John", age: 20, gender: "male"},
  {name: "Jane", age: 25, gender: "female"},
  {name: "Jack", age: 30, gender: "male"},
  {name: "Jill", age: 35, gender: "female"}
]);

2、使用db.collection.group()函数来分组,例如:

db.collection.group(
  {
    key: { gender: 1 },
    initial: { count: 0 },
    reduce: function(obj, prev) { prev.count += 1; }
  }
);

上面的代码会按照gender字段对文档进行分组,并且统计每组文档的数量,得到的结果如下:

[
  { "_id" : "male", "count" : 2 },
  { "_id" : "female", "count" : 2 }
]

3、可以使用db.collection.aggregate()函数来对分组后的文档进行计算操作,例如:

db.collection.aggregate([
  { 
    $group: {
      _id: "$gender",
      averageAge: { $avg: "$age" }
    }
  }
]);

上面的代码会按照gender字段对文档进行分组,并且计算每组文档的平均年龄,得到的结果如下:

[
  { "_id" : "male", "averageAge" : 25 },
  { "_id" : "female", "averageAge" : 30 }
]
标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。