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
}
]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章