MongoDB数据库sql命令操作
Posted fancyblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB数据库sql命令操作相关的知识,希望对你有一定的参考价值。
概念
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() #查询所有用户
以上是关于MongoDB数据库sql命令操作的主要内容,如果未能解决你的问题,请参考以下文章