Mongodb aggregation 基本操作示例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Mongodb aggregation 基本操作示例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2244字,纯文字阅读大概需要4分钟。
内容图文
![Mongodb aggregation 基本操作示例](/upload/InfoBanner/zyjiaocheng/495/edf302d006b744efb54b3eea56d3636b.jpg)
对于统计而言,则主要是aggregate操作,比如 group、sum、avg、project、match……
aggregate可以将上述操作组织成 pipeline 形式,依次经过各种操作处理。
本文是MongoDB University M101的课程笔记,主要记录:MongoDB aggregate的一些常用操作。
①project
它是个1:1的操作,即一个Document输入给project处理,输出一个新的Document。它主要对Key进行处理(大小写转换、删除原来Document某些Key……)
比如原Document如下:
{
"city" : "ACMAR",
"loc" : [
-86.51557,
33.584132
],
"pop" : 6055,
"state" : "AL",
"_id" : "35004"
}
想把它变成:
{
"city" : "acmar",
"pop" : 6055,
"state" : "AL",
"zip" : "35004"
}
使用:project操作符进行处理:
db.zips.aggregate([
{$project:{_id:0, city:{$toLower:"$city"}, pop:1, state:1, zip:"$_id"}}
])
_id:0 去掉原Document中的_id字段;city:{$ toLower:"$city"} 对原Document中的 "$city" 的值全部转换成小写,赋给新city字段
pop:1 state:1 表示将原Document中的 pop 字段、state 字段 放到新Document中
zip:"$_id" 将原Document中的 ‘_id‘字段值 赋值给 新的 "zip" 字段
②group avg,根据分组求平均值。比如某个Document格式如下:对 state字段进行分组,求每个state的人口(pop)的平均值
{
"city" : "FISHERS ISLAND",
"loc" : [
-72.017834,
41.263934
],
"pop" : 329,
"state" : "NY",
"_id" : "06390"
}
db.zips.aggregate([
{"$group":{"_id":"$state", "average_pop":{"$avg":"$pop"}}}
])
$group表示分组操作,执行该操作后会生成一个新Document。
_id:$state 表示对 $state 字段进行分组,生成的新Document的 _id 为 state的值
"$avg":"$pop" 表示对原Document中的 “pop”字段按 $state 分组求平均值。得到的平均值为 "average_pop"字段的值。
最终的结果如下:
{ "_id" : "NY", "average_pop" : 9705.34 }
{ "_id" : "CT", "average_pop" : 13226.48 }
{ "_id" : "CA", "average_pop" : 19067.72 }
{ "_id" : "NJ", "average_pop" : 16949.9 }
③match
Document示例如下:想要过滤人口字段(pop)大于100 000 的所有记录。
{
"city" : "ACMAR",
"loc" : [
-86.51557,
33.584132
],
"pop" : 6055,
"state" : "AL",
"_id" : "35004"
}
db.zips.aggregate([
{$match:{
pop:{$gt:100000}
}
}
])
$match表示对 Document进行过滤
pop:{$gt:100000} 表示根据 pop 字段过滤,过滤的条件为 pop 的值大于100000
Mongodb aggregation 基本操作示例
标签:组合 jin www ros find filter 3.5 fish family
本文系统来源:http://www.cnblogs.com/hapjin/p/7859434.html
内容总结
以上是互联网集市为您收集整理的Mongodb aggregation 基本操作示例全部内容,希望文章能够帮你解决Mongodb aggregation 基本操作示例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。