Mongodb的聚集命令

首先 创建一个集合stu。然后insert一些数据,大概是这样的结果:

> db.stu.find()
{ "_id" : ObjectId("59df80cc6d135618bcd14fdf"), "name" : "a", "age" : "18" }
{ "_id" : ObjectId("59df80d36d135618bcd14fe0"), "name" : "b", "age" : "19" }
{ "_id" : ObjectId("59df82376d135618bcd14fe1"), "name" : "c", "age" : "19" }
{ "_id" : ObjectId("59df823e6d135618bcd14fe2"), "name" : "d", "age" : "18" }

count:

返回指定集合中的文档数目,
> db.stu.count()
4
> db.stu.find({"age":"18"}).count()
2
> db.stu.find({"age":"18"}).skip(2).count(true)
0// count会默认忽略skip和limit的参数,所以要加上true
distinct:

返回无重复的统计结果:

> db.stu.distinct("name")
[ "a", "b", "c", "d" ]
> db.stu.distinct("age")
[ "18", "19" ]

group:

将结果分组,三个参数key,initial,reduce

key:根据哪个键进行分组

initial:元素开始统计的起始基数

reduce:接受两个参数,正在遍历的当前文档和聚集计数对象,称为item,prev

> db.stu.group({
... key:{"name":true},
... initial:{"age":0},
... reduce:function(items,prev){
... }
... }
... )
[
{
"name" : "a",
"age" : 0
},
{
"name" : "b",
"age" : 0
},
{
"name" : "c",
"age" : 0
},
{
"name" : "d",
"age" : 0
}
]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值