zoukankan      html  css  js  c++  java
  • mongo基本操作

    概念

    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()            #查询所有用户
  • 相关阅读:
    protege5.2基础教程
    Controller返回json的编码处理
    QQ开放平台网页应用接口测试
    前端开发工程师
    前端开发工程师
    前端开发工程师
    UniMelb Comp30022 IT Project (Capstone)
    Java开发工程师(Web方向)
    Java开发工程师(Web方向)
    Java开发工程师(Web方向)
  • 原文地址:https://www.cnblogs.com/Selling-fish-bears/p/9300541.html
Copyright © 2011-2022 走看看