首先 創建一個集合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:
4
> db.stu.find({"age":"18"}).count()
2
0// count會默認忽略skip和limit的參數,所以要加上true
返回無重複的統計結果:
> db.stu.distinct("name")
[ "a", "b", "c", "d" ]
> db.stu.distinct("age")
[ "18", "19" ]
group:
將結果分組,三個參數key,initial,reduce
key:根據哪個鍵進行分組
initial:元素開始統計的起始基數
reduce:接受兩個參數,正在遍歷的當前文檔和聚集計數對象,稱爲item,prev
... 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
}
]