当前位置: 移动技术网 > IT编程>数据库>MongoDB > mongo基本操作

mongo基本操作

2018年07月14日  | 移动技术网IT编程  | 我要评论

概念

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:'bear', 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:'bear',
    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()            #查询所有用户

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网