MongoDBaggregate聚合语法

更新时间:2023-07-06 11:09:37 阅读: 评论:0

MongoDBaggregate聚合语法
MongoDB的聚合管道将MongoDB⽂档在⼀个管道处理完毕后将结果传递给下⼀个管道处理,
下⼀个管道接收到的字段来源上⼀个管道。
语法⽰例:
db.school.aggregate(
西式早餐[托福考试时间
{$match:{time:{$gt:1513612800}}},
研究生学位英语考试{$group:{_id:{insituteName:"$institute",class:"$name"},count:{$sum:1}}},
{$sort:{count:-1}},
{$limit:10}]
)
汉英在线翻译
montenegro注:
1. $match 表⽰查询条件
2. $group 表⽰分组,_id固定写法,
如果按照多个字段分组,则字段必须都在_id对象中,可以取别名,例如上⾯⽰例,输出结果为:
{ "_id" : { "insituteName" : "数学系",class: "⼀班"}, "count" : 200 }
{ "_id" : { "insituteName" : "英语系",class: "⼆班" }, "count" : 201 }
如果按照⼀个字段分组,则可以写为{$group:{_id:"$institute",count:{$sum:1}}},此时,查询结果为:
{ "_id" : "数学系", "count" : 1000 }
{ "_id" : "英语系", "count" : 800 }
若没有分组字段,则{$group:{_id:null,count:{$sum:1}}}mun
3. $sort 排序,1——正序,-1——倒序furious
4. $limit 限制输出数据条数
托福阅读算分5. count:{$sum:1},1表⽰统计查询结果数量,如果想统计time字段和则使⽤ count:{$sum:"$time"}。
聚合函数有:min,max,sum,avg
6. $project 表⽰选择显⽰的字段,1——显⽰,0——不显⽰,如下⽰例:
db.school.aggregate([{$project:{insituteName:1,"time:1,_id:0}},{$match:{"time:{$gt:1513612800}}},{$sort:{"time:-1}}, {$limit:10}])
输出:
{ "insituteName" : "数学系", "time" : 1521392371 }
{ "name" : "英语系", "time" : 1521392370 }
家务的英文
7. $skip在跳过指定数量的⽂档,并返回余下的⽂档,例如,下⾯跳过前5条⽂档,显⽰第6到第10条:
db.school.aggregate([{$project:{time:1,name:1,_id:0}},{$match:{time:{$gt:1513612800}}},{$group:{_id:
{className:"$name"},count:{$sum:1}}},{$sort:{count:-1}},{$limit:10},{$skip:5}]
注释:
$project先筛选出所有⽂档的time和name两个字段,
$match然后筛选出时间⼤于1513612800的⽂档,
$group按照name字段分组,重命名为className,
$sum统计服务条件的⽂档数量,
$sort按照数量count字段倒序排序,
mie
$limit限制⼀共输出前10条⽂档;
$skip跳过前5条⽂档,输出第6到第10条⽂档。
区别:
复杂⽰例3:
db.page_status_projects.aggregate([{$match:{clock:{$gt:1513612800}}},{$project:{clock:{"$divide":['$clock',3600]},name:1}}, {$group:{_id:{projectName:"$name"},time:{$sum:"$clock"},count:{$sum:1}}},{$sort:{count:-1}},{$limit:10}])

本文发布于:2023-07-06 11:09:37,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/168808.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字段   数量   管道
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图