db.集合名称.aggregate([{管道:{表达式}}])
ps ajx | grep mongo
表达式:‘$列名‘
$last:根据资源文档的排序获取最后一个文档数据
8e08b0f0-7db1-49aa-8274-05c3bca10e67:PRIMARY> db.stu.aggregate([{$group:{_id:‘$gender‘,count:{$sum:1}}}]) 8e08b0f0-7db1-49aa-8274-05c3bca10e67:PRIMARY> db.stu.find() { "_id" : ObjectId("5ef1d0b85192e418c6c6e198"), "name" : "zmd", "age" : 22, "gender" : true } { "_id" : ObjectId("5ef1d0df5192e418c6c6e199"), "name" : "tdq", "age" : 28, "gender" : true } { "_id" : ObjectId("5ef1d0f25192e418c6c6e19a"), "name" : "yanmeihua", "age" : 28, "gender" : false } { "_id" : ObjectId("5ef1d10b5192e418c6c6e19b"), "name" : "qjj", "age" : 20, "gender" : false } 8e08b0f0-7db1-49aa-8274-05c3bca10e67:PRIMARY> db.stu.aggregate([{$group:{_id:‘$gender‘,count:{$sum:1}}}]) { "_id" : false, "count" : 2 } { "_id" : true, "count" : 2 } 8e08b0f0-7db1-49aa-8274-05c3bca10e67:PRIMARY>
8e08b0f0-7db1-49aa-8274-05c3bca10e67:PRIMARY> db.stu.aggregate([{$group:{_id:null,count:{$sum:1},avgAge:{$avg:‘$age‘}}}]) { "_id" : null, "count" : 4, "avgAge" : 24.5 }
8e08b0f0-7db1-49aa-8274-05c3bca10e67:PRIMARY> db.stu.aggregate([{$group:{_id:‘$gender‘,name:{$push:‘$name‘}}}]) { "_id" : false, "name" : [ "yanmeihua", "qjj" ] } { "_id" : true, "name" : [ "zmd", "tdq" ] } 8e08b0f0-7db1-49aa-8274-05c3bca10e67:PRIMARY>
8e08b0f0-7db1-49aa-8274-05c3bca10e67:PRIMARY> db.stu.aggregate([{$group:{_id:‘$gender‘,name:{$push:‘$$ROOT‘}}}]).pretty() { "_id" : false, "name" : [ { "_id" : ObjectId("5ef1d0f25192e418c6c6e19a"), "name" : "yanmeihua", "age" : 28, "gender" : false }, { "_id" : ObjectId("5ef1d10b5192e418c6c6e19b"), "name" : "qjj", "age" : 20, "gender" : false } ] } { "_id" : true, "name" : [ { "_id" : ObjectId("5ef1d0b85192e418c6c6e198"), "name" : "zmd", "age" : 22, "gender" : true }, { "_id" : ObjectId("5ef1d0df5192e418c6c6e199"), "name" : "tdq", "age" : 28, "gender" : true } ] } 8e08b0f0-7db1-49aa-8274-05c3bca10e67:PRIMARY>
使用MongoDB的标准查询操作
例1:查询年龄大于20的学生
8e08b0f0-7db1-49aa-8274-05c3bca10e67:PRIMARY> db.stu.find() { "_id" : ObjectId("5ef1d0b85192e418c6c6e198"), "name" : "zmd", "age" : 22, "gender" : true } { "_id" : ObjectId("5ef1d0df5192e418c6c6e199"), "name" : "tdq", "age" : 28, "gender" : true } { "_id" : ObjectId("5ef1d0f25192e418c6c6e19a"), "name" : "yanmeihua", "age" : 28, "gender" : false } { "_id" : ObjectId("5ef1d10b5192e418c6c6e19b"), "name" : "qjj", "age" : 20, "gender" : false } 8e08b0f0-7db1-49aa-8274-05c3bca10e67:PRIMARY> db.stu.aggregate([{$match:{age:{$gt:20}}}]) { "_id" : ObjectId("5ef1d0b85192e418c6c6e198"), "name" : "zmd", "age" : 22, "gender" : true } { "_id" : ObjectId("5ef1d0df5192e418c6c6e199"), "name" : "tdq", "age" : 28, "gender" : true } { "_id" : ObjectId("5ef1d0f25192e418c6c6e19a"), "name" : "yanmeihua", "age" : 28, "gender" : false } 8e08b0f0-7db1-49aa-8274-05c3bca10e67:PRIMARY>
8e08b0f0-7db1-49aa-8274-05c3bca10e67:PRIMARY> db.stu.aggregate([{$match:{age:{$gt:20}}},{$group:{_id:"$gender",counter:{$sum:1}}}]) { "_id" : false, "counter" : 1 } { "_id" : true, "counter" : 2 } 8e08b0f0-7db1-49aa-8274-05c3bca10e67:PRIMARY>
原文:https://www.cnblogs.com/zhangmingda/p/13183812.html