05-mongodb

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)    #插入文档,    集合不存在会自动创建, 不能插入重复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.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
#后面加个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, 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        #监听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()           #查询所有用户
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值