加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 系统 > 正文

Mongodb中group参数怎样使用 有哪几种选项

发布时间:2023-08-21 13:12:24 所属栏目:系统 来源:
导读:这篇文章主要讲解了“Mongodb中group参数怎样使用,有哪些选项”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mongodb中group参数怎样使用,有哪

这篇文章主要讲解了“Mongodb中group参数怎样使用,有哪些选项”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mongodb中group参数怎样使用,有哪些选项”吧!

// 准备测试数据

db.user.drop();

for(var i=10; i25的用户,按照class进行分组,显示每个class中的用户姓名和性别,并统计每组的人数

db.user.group({

key: {"class": true},

initial: {"person": []},

reduce: function(doc, out){

out.person.push({name: doc.name, sex: doc.sex, age: doc.age});

},

finalize: function(out){

out.count = out.person.length;

},

condition: {"age": {$gt: 25}}

})

// 分组计算每个class中,chinese最大值和最小值

db.user.group({

key: {"class": true},

initial: {"chinese_min": 0, "chinese_max":0 },

reduce: function(doc, out){

out.chinese_min = doc.chinese;

out.chinese_min = doc.chinese;

out.chinese_min = Math.min(out.chinese_min, doc.chinese);

out.chinese_max = Math.max(out.chinese_max, doc.chinese)

},

})

// 利用分组,计算每个总成绩和成绩平均值

db.user.group({

key: {"_id" : true},

initial: {name:"", total: 0, avg: 0},

reduce: function(doc, out){

out.name = doc.name;

out.total = doc.chinese + doc.math + doc.english;

out.avg = Math.floor(out.total / 3);

}

})

group参数选项:

1.key: 这个就是分组的key

2.initial: 每组都分享一个初始化函数,特别注意:是每一组initial函数。

3.reduce: 这个函数的第一个参数是当前的文档对象,第二个参数是上一次function操作的累计对象。有多少个文档, $reduce就会调用多少次。

4.condition: 这个就是过滤条件。

5.finalize: 这是个函数,每一组文档执行完后,多会触发此方法。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章