概念
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() #查询所有用户
原文地址:https://www.cnblogs.com/fancyblog/p/11405087.html
时间: 2024-10-12 12:02:44