mongodb
概念
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)
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.students.find({name:'juhao'}).pretty() where name = 'juhao'
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
{$and:[{expression1}, {expression1}, ...] }
{$or:[{expression1}, {expression1}, ...] }
db.table.find({
$and:[
{sex:'男'}, {age:{$gt:18}}
]
})
db.table.find({
$or:[
{sex:'女'}, {age:18}
]
})
db.table.find({
$or:[
{$and:[{sex:'女'}, {age:18}]},
{$and:[{sex:'男'}, {age:{$gt:18}}]}
]
})
更新
db.table.update({sex:'男'},{age:20})
db.table.update({sex:'男'}, {$set:{age:666, age:6666}})
db.table.update({sex:'男'}, {$set:{sex:'女'}}, {multi:true})
删除
db.集合名称.remove( <query>, <justOne> )
db.table.remove({age:18})
db.table.remove({sex:'男'}, {justOne:true})
db.table.remove({})
mongodb配置
vim /etc/mongodb.conf
dbpath
logpath
bind_ip = 0.0.0.0
auth = True
mongodb权限
MongoDB默认设置为无权限访问限制
db.createUser({
user:'juha',
pwd:'123456',
roles:[{role:"userAdminAnyDatabase", db:"admin"}]
})
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()