db.集合名称.aggregate([{管道:{表达式}}])ps ajx | grep mongo表达式:‘$列名‘db.stu.aggregate([ {$group: { _id:‘$gender‘, counter:{$sum:1} } }])db.stu.aggregate([ {$group: { _id:null, counter:{$sum:1}, avgAge:{$avg:‘$age‘} } }])db.stu.aggregate([ {$group: { _id:‘$gender‘, name:{$push:‘$name‘} } }])db.stu.aggregate([ {$group: { _id:‘$gender‘, name:{$push:‘$$ROOT‘} } }])
db.stu.aggregate([ {$match:{age:{$gt:20}}}])db.stu.aggregate([ {$match:{age:{$gt:20}}}, {$group:{_id:‘$gender‘,counter:{$sum:1}}}])
db.stu.aggregate([ {$project:{_id:0,name:1,age:1}}])db.stu.aggregate([ {$group:{_id:‘$gender‘,counter:{$sum:1}}}, {$project:{_id:0,counter:1}}])b.stu.aggregate([{$sort:{age:1}}])db.stu.aggregate([ {$group:{_id:‘$gender‘,counter:{$sum:1}}}, {$sort:{counter:-1}}])
db.stu.aggregate([{$limit:2}])db.stu.aggregate([{$skip:2}])db.stu.aggregate([ {$group:{_id:‘$gender‘,counter:{$sum:1}}}, {$sort:{counter:1}}, {$skip:1}, {$limit:1}])db.集合名称.aggregate([{$unwind:‘$字段名称‘}])db.t2.insert({_id:1,item:‘t-shirt‘,size:[‘S‘,‘M‘,‘L‘]})db.t2.aggregate([{$unwind:‘$size‘}])db.inventory.aggregate([{ $unwind:{ path:‘$字段名称‘, preserveNullAndEmptyArrays:<boolean>#防止数据丢失 }}])db.t3.insert([{ "_id" : 1, "item" : "a", "size": [ "S", "M", "L"] },{ "_id" : 2, "item" : "b", "size" : [ ] },{ "_id" : 3, "item" : "c", "size": "M" },{ "_id" : 4, "item" : "d" },{ "_id" : 5, "item" : "e", "size" : null }])db.t3.aggregate([{$unwind:‘$size‘}])db.t3.aggregate([{$unwind:{path:‘$sizes‘,preserveNullAndEmptyArrays:true}}]) use admindb.createUser({ user:‘admin‘, pwd:‘123‘, roles:[{role:‘root‘,db:‘admin‘}]})sudo vi /etc/mongod.confsecurity: authorization: enabledsudo service mongod stopsudo service mongod start mongo -u ‘admin‘ -p ‘123‘ --authenticationDatabase ‘admin‘use test1show usersdb.createUser({ user:‘t1‘, pwd:‘123‘, roles:[{role:‘readWrite‘,db:‘test1‘}]})mongo -u t1 -p 123 --authenticationDatabase test1切换数据库,执行命令查看效果
修改用户:可以修改pwd、roles属性
db.updateUser(‘t1‘,{pwd:‘456‘})
mkdir t1mkdir t2mongod --bind_ip 192.168.196.128 --port 27017 --dbpath ~/Desktop/t1 --replSet rs0mongod --bind_ip 192.168.196.128 --port 27018 --dbpath ~/Desktop/t2 --replSet rs0mongo --host 192.168.196.128 --port 27017rs.initiate()rs.status()rs.add(‘192.168.196.128:27018‘)mongo --host 192.168.196.128 --port 27018use test1for(i=0;i<10;i++){db.t1.insert({_id:i})}db.t1.find()rs.slaveOk()db.t1.find()rs.remove(‘192.168.196.128:27018‘)mongodump -h dbhost -d dbname -o dbdirectorysudo mkdir test1baksudo mongodump -h 192.168.196.128:27017 -d test1 -o ~/Desktop/test1bakmongorestore -h dbhost -d dbname --dir dbdirectorymongorestore -h 192.168.196.128:27017 -d test2 --dir ~/Desktop/test1bak/test1
进入虚拟环境sudo pip install pymongo或源码安装python setup.pyimport pymongoclient=pymongo.MongoClient("localhost", 27017)db=client.test1stu = db.stus1={name:‘gj‘,age:18}s1_id = stu.insert_one(s1).inserted_ids2=stu.find_one()for cur in stu.find(): print curcur=stu.find()cur.next()cur.next()cur.next()print stu.count()