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

    1.  MongoDB用户权限列表,分为管理员和普通用户

    read

    允许用户读取指定数据库

    readWrite

    允许用户读写指定数据库

    dbAdmin

    允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

    userAdmin

    允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户

    clusterAdmin

    只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限

    readAnyDatabase

    只在admin数据库中可用,赋予用户所有数据库的读权限

    readWriteAnyDatabase

    只在admin数据库中可用,赋予用户所有数据库的读写权限

    userAdminAnyDatabase

    只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

    dbAdminAnyDatabase

    只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限

    root

    只在admin数据库中可用。超级账号,超级权限

    2.  创建管理员,

    管理员通常没有数据库的读写权限,只有操作用户的权限, 因此我们只需要赋予管理员userAdminAnyDatabase角色即可

    另外管理员账户必须在admin数据库下创建,注:use命令在切换数据库时,如果切换到一个不存在的数据库,MongodDB会自动创建该数据库。

    db.createUser({user:'bjsxt',pwd:'bjsxtpwd',roles:[{role:'userAdminAnyDatabase',db:'admin'}]})

    更新管理员角色

    db.updateUser("bjsxt",{roles : [{"role" : "userAdminAnyDatabase","db" : "admin"},{"role" : "dbAdminAnyDatabase","db" : "admin"}]})

    删除用户

    db.dropUser('itsxt')

    修改mongodb.conf配置文件,在文件中添加auth=true,开启权限认证。

    3.  认证

    db.auth('bjsxt','bjsxtpwd')

    4.  创建普通用户并指定可用的权限

    use sxt
    db.createUser({user:'itsxt',pwd:'itsxtpwd',roles:[{role:'readWrite',db:'sxt'}]})

    5.  创建集合

    db.createCollection('dev')

    删除集合

    db.dev.drop()

    6.  插入文档

    db.dev.insert({title:'北京尚学堂',description:'程序员的摇篮',url:'www.bjsxt.com',tags:['java','大数据','python']})

    覆盖更新文档

    db.集合名称.update(
        <query>,
        <update>,
        < upsert:boolean>,
        < multi:boolean>
    )
    
    参数说明:
    query : update的查询条件,类似sql update查询内where后面的。
    update : update的对象和一些更新的操作符等,也可以理解为sql update查询内set后面的。
    upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入这个document,true为插入,默认是false,不插入。
    multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

    表达式更新

    db.col.update(
        {'title':'MongoDB 教程'},
        {$set:{'title':'MongoDB'}}
    )

     7. 关系型数据库与MongoDB的对应关系

     

    详细操作见https://www.runoob.com/mongodb/mongodb-tutorial.html

  • 相关阅读:
    Git: git tag 使用小结(给发布版本打标记,切换并修改某个历史版本)
    android: Android水波纹点击效果
    Flutter: 运行新项目报错
    FFmpeg编译:mac下编译iOS平台的FFmpeg库(支持armv7, arm64, i386, x86_64)
    Xcode: Xcode中Command Line Tools的安装方法
    win10: windows+E 改回打开我的电脑
    DialogFragment: DialogFragment的一些理解
    Android Studio: 查看SDK源代码
    HandlerThread: HandlerThread的理解
    Looper: Looper,Handler,MessageQueue三者之间的联系
  • 原文地址:https://www.cnblogs.com/yangjiming/p/11053957.html
Copyright © 2011-2022 走看看