概念
RDBMS(关系型数据库管理系统) | MongoDB |
---|---|
Database(数据库) | Database(数据库) |
Table(表) | Collection(集合) |
Record(记录) | Document(文档) |
库级操作
use DATABASE #切换/创建库
show dbs #查看所有数据库(空库不会显示) db.dropDatabase() #删除当前数据库 db #查看当前所在库
#集合操作
db.createCollection(name, options) #创建集合 用引号引起来
capped:类型为boolean,如果为true则为创建一个固定大小的集合,当集合中的数据条目达 到最大时自动覆盖以前的条目。 size:指定集合字节最大值,当capped为true时需要指定。单位为byte max:指定集合中数据的最大条数。 db.createCollection( "BizUser", {capped:1,autoIndexID:1,size:6142800,max:10000} ) show collections#查看当前数据库的集合 db.集合名称.drop()#删除集合
文档操作
##插入
db.集合名称.insert(document)#插入文档 集合不存在会自动创建,不能插入重复id的数据 db.student.insert({_id:1, name:'句号', age:18}) db.student.insert([ {name:'juhao', sex:'男', age:18}, {name:'nanbei', sex:'男', age:19}, {name:'budong', sex:'男', age:20}, ])
查询
db.集合名称.find() #查询所有
db.集合名称.find().pretty() #结构化显示 db.集合.find({name:10}).pretty() where name = 10 db.集合.find({name:{$ne:10} }).pretty() where name != 10 db.集合.find({name:{$gt:10} }).pretty() where name > 10 db.集合.find({name:{$lt:10} }).pretty() where name < 10 #后面加个e就是加等于 #and逻辑 {$and:[{expression1}, {expression1}, ...] } #or逻辑 {$or:[{expression1}, {expression1}, ...] } #where sex='男' and age > 18 db.table.find({ $and:[ {sex:'男'}, {age:{$gt:18}} ] }) #where sex='女' or age =18 db.table.find({ $or:[ {sex:'女'}, {age:18} ] }) #where (sex='女' and age=18) or (sex='男' and age>18) db.table.find({ $or:[ {$and:[{sex:'女'}, {age:18}]}, {$and:[{sex:'男'}, {age:{$gt:18}}]} ] })
更新
db.table.update({sex:'男'},[{age:20}) #更新第一条找到的文档全部值 无multi db.table.update({sex:'男'}, {$set:{age:666, agee:6666}}) #修改第一条找到的文档,不存在就添加 db.table.update({sex:'男'}, {$set:{sex:'女'}}, {multi:true})#更新全部
删除
db.集合名称.remove( <query>, <justOne> )
db.table.remove({age:18})#删除所有满足条件的
db.table.remove({sex:'男'}, {justOne:true})#删除一条
mongodb配置
vim /etc/mongodb.conf
dbpath #数据存放的地址
logpath #日志存放的地址
bind_ip = 0.0.0.0 #监听IP auth = True #权限认证
mongodb权限
MongoDB默认设置为无权限访问限制
#进入user admin
#创建管理员用户,用来管理用户,可以通过这个角色来创建、删除用户,用户只具有管理用户和角色的权限。 db.createUser({ user:'juha', pwd:'123456', roles:[{role:"userAdminAnyDatabase", db:"admin"}] }) #role:指定用户的角色,db指定库 db.createCollection('student') #创建一个库 use student #进入 #给该库添加用户 db.createUser({ user:'test', pwd:'test', roles:[{ role:'readWrite', db:'student' }] }) show users #查看当前库下的用户 db.dropUser('username') #删除某个用户 db.dropAllusers() #删除当前库的所有用户 db.getUsers() #查询所有用户