一、数据库操作
1 进入数据库
use admin
2 增加或修改密码
db.addUser(‘wangzhe’,‘123456’)
db.addUser(“wangzhe”,“123456”,true) true代表只读
3 查看用户列表
db.system.users.find()
4 用户认证
db.auth(‘wangzhe’,‘123456’)
5 删除用户
db.removeUser(‘wangzhe’)
6 查看所有用户
show users
7 查看所有数据库
show dbs
8 查看所有的collection集合
show collections
9 查看各个collection的状态
db.printCollectionStats()
10 查看主从复制状态
db.printReplicationInfo()
11 修复数据库
db.repairDatabase()
12 设置profiling,0:off 1:slow 2 all
db.setProfilingLevel(1)
13 查看profiling
show profiling
14 拷贝数据库
db.copyDatabase(‘wangzhetest’,‘wangzhetest1’)
db.copyDatabase(“wangzhetest”,“temp”,“127.0.0.1”)
15 删除集合collection
db.wangzhetest.drop()
16 删除当前数据库
db.dropDatabase()
二、MongoDB增删改命令
1 存储嵌套的对象
db.wangzhe.save({‘name’:‘wangzhe’,‘age’:25,‘address’:{‘city’:‘guangzhou’,‘Province’:‘beijing’}})
2 存储数组对象
db.wangzhe.save({‘name’:‘wangzhe’,‘age’:25,‘address’:[‘beijing Province’,‘tianjin Province’]})
3 根据query条件修改,如果不存在则插入,允许修改多条记录
db.wangzhe.update({‘age’:‘25’},{’$set’:{‘name’:‘wangzhe’}},upsert=true,multi=true)
4 删除name 为 wangzhe 的记录
db.wangzhe.remove({‘name’:‘wangzhe’})
5 删除所有的记录
db.wangzhe.remove()
三、索引
1 增加索引:1 asc -1 desc
db.wangzhe.ensureIndex({firstname:1,lastname:-1},{unieap:true})
2 索引子对象(不懂)
db.wangzhe.ensureIndex({‘Al.Em’:!})
3 查看索引信息
db.wangzhe.getIndexes()
db.wangzhe.getIndexKeys()
4 根据索引名删除索引(不懂)
db.wangzhe.dropIndex(‘Al.Em_1’)
四、查询 条件操作符
1 $gt ---- >
2 $lt ---- <
3 $gte ---- >=
4 $lte ---- <=
5 $ne ---- != 、<>
6 $in ---- in
7 $nin ---- not in
8 $all ---- all
9 $or ---- or
10 $not ---- 反匹配
1 查询所有记录
db.wangzhe.find() ---- select * from wangzhe
2 查询某列非重复的记录
db.wangzhe.distinct(“wangzhe”) ---- select distinct name from wangzhe
3 查询age = 24 的记录
db.wangzhe.find({“age”:24}) ---- select * from wangzhe where age = 24
4 查询age > 24 的记录
db.wangzhe.find({age:{$gt:24}}) ---- select * from wangzhe where age > 24
5 查询age < 24 的记录
db.wangzhe.find({age:{$lt:24}}) ---- select * from wangzhe where age < 24
6 查询age <= 25的记录
db.wangzhe.find({age:{$lte:25}})
7 查询age >= 23 并且 age <=26的记录
db.wangzhe.find({age:{lte:26}})
8 查询name中包含wangzhe的数据
db.wangzhe.find({name:/wangzhe/}) ---- select * from wangzhe where name like ‘%wangzhe%’
9 查询name中以wangzhe开头的数据
db.wangzhe.find({name:/^wangzhe/}) ---- select * from wangzhe where name like ‘wangzhe%’
10 查询指定列name、age的数据
db.wangzhe.find({},{name:1,age:1}) ---- select name,age from wangzhe
11 查询制定列name、age数据,并且age > 24
db.wangzhe.find({age:{$gt:24}},{name:1,age:1}) ---- select name,age from wangzhe where age >24
12 按照年龄排序
升序:db.wangzhe.find().sort({age:1}) 降序:db.wangzhe.find().sort({age:-1})
13 查询name=wangzhe.age=25的数据
db.wangzhe.find({name:‘wangzhe’,age:24}) ---- select * from wangzhe where name=‘wangzhe’ and age =‘25’
14 查询前5条数据
db.wangzhe.find().limit(5) ---- select top 5 * from wangzhe
15 查询10条以后的数据
db.wangzhe.find().skip(10) ---- select * from wangzhe where id not in (select top 10 * from wangzhe);
16 查询在5-10之间的数据
db.wangzhe.find().limit(10).skip(5)
17 or与查询
db.wangzhe.find({$or:[{age:24},{age:25}]}) ---- select * from wangzhe where age=24 or age =25
18 查询第一条数据
db.wangzhe.findOne() 、db.wangzhe.find().limit(1)---- select top 1 * from wangzhe
19 查询某个结果集的记录条数
db.wangzhe.find({age:{$gte:25}}).count() ---- select count(*) from wangzhe where age >= 20
20 按照某列进行排序(不懂)
db.wangzhe.find({sex:{$exists:true}}).count() ---- select count(sex) from wangzhe
21 查询age取模10等于0的数据
db.wangzhe.find(‘this.age % 10 == 0’)、db.wangzhe.find({age:{$mod:[10,0]}})
24 匹配所有
db.wangzhe.find({age:{$all:[24,25]}})
23 查询不匹配name=X*带头的记录
db.wangzhe.find({name:{$not:/^X.*/}})
24 排除返回age字段
db.wangzhe.find({name:‘wangzhe’},{age:0})
25 判断字段是否存在
db.wangzhe.find({name:{$exists:true}})
五、管理
1 查看collection数据大小
db.wangzhetest.dataSize()
2 查看collection状态
db.wangzhetest.stats()
3 查询所有索引的大小
db.wangzhetest.totalIndexSize()