zoukankan      html  css  js  c++  java
  • MongoDB之常用操作

      最近经常使用MongoDB来进行数据的操作,特此记录总结一下

      

    角色 介绍
    read 提供读取所有非系统的集合(数据库)
    readWrite 提供读写所有非系统的集合(数据库)和读取所有角色的所有权限
    dbAdmin 提供执行管理任务的功能,例如与架构相关的任务,索引编制,收集统计信息。此角色不授予用户和角色管理权限。
    dbOwner 提供对数据库执行任何管理操作的功能。此角色组合了readWrite,dbAdmin和userAdmin角色授予的权限。
    userAdmin 提供在当前数据库上创建和修改角色和用户的功能。由于userAdmin角色允许用户向任何用户(包括他们自己)授予任何权限,因此该角色还间接提供对数据库的超级用户访问权限,或者,如果作用于管理数据库,则提供对群集的访问权限。
    clusterAdmin 提供最佳的集群管理访问。此角色组合了clusterManager,clusterMonitor和hostManager角色授予的权限。此外,该角色还提供了dropDatabase操作。
    readAnyDatabase 仅在admin 数据库中使用,提供所有数据库的读权限。
    readWriteAnyDatabase 尽在admin 数据库中使用,提供所有数据库的读写权限
    userAdminAnyDatabase 尽在admin 数据库中使用,提供与userAdmin相同的用户管理操作访问权限,允许用户向任何用户(包括他们自己)授予任何权限,因此该角色还间接提供超级用户访问权限。
    dbAdminAnyDatabase 仅在admin 数据库中使用,提供与dbAdmin相同的数据库管理操作访问权限,该角色还在整个群集上提供listDatabases操作。
    root 尽在admin 数据库中使用,提供超级权限
    1.   查看所有的数据库
      show dbs
    2.     查看当前所在的库
      db
    3.     切换数据库
      use db1
    4.  修改数据库名称
      # 拷贝一份数据,删除旧的数据
      db.copyDatabase('old_name', 'new_name'); 
      use old_name 
      db.dropDatabase();
          •   数据导出
            mongoexport --host 127.0.0.1 --port 8906 -d xiguadata -c zhuti -o principal.dat
            
            说明:
                --host  主机地址
                --port  端口号
                -d 数据库名
                -c  集合名
                -o 导出的文件名称
            mongoexport -d myDB -c user -f _id,name,password,adress --csv -o ./user.csv
              --f 需要提取的field用逗号分隔
              --q 指定过滤条件 '{key:"value"}'
              --csv 指定导出的格式CSV

            mongoexport.exe -d xiguadata -c comps2 -f wxname,wxid,zt,wxdesc,fans,regdate -q "{_id:{'$gt':ObjectId('5c0f9f09031c2304c449542d')}}" --type=csv -o component.csv
    •      数据导入
      mongoimport -d 库名 -c 集合名  导入的文件名

       

      常见问题:

      1)使用-q 查询的时候报错

    D:Program FilesMongoDBServer4.0in>mongoexport.exe -h localhost:27001 -d mldn -c emps -q '{age:{$gt:20}}' -f name,age,job,salary --type=csv > emps1.csv
    2018-09-10T10:49:06.005+0800    error validating settings: query '[39 123 97 103 101 58 123 36 103 116 58 50 48 125 125 39]' is not valid JSON: json: cannot unmarshal string into Go value of type map[string]interface {}
    2018-09-10T10:49:06.015+0800    try 'mongoexport --help' for more information

      解决:

        后来发现是window和linux的区别,linux上执行是外面包单引号,window要外面包双引号

        window写错:"{'consumeStatus':'SUCCESS','externalSeqNum':/^201705/}" 就没有问题了

  • 相关阅读:
    BF算法(串模式匹配算法)
    python字符串 常用函数 格式化字符串 字符串替换 制表符 换行符 删除空白 国际货币格式
    python 列表
    python 循环语句
    http://www.pythontutor.com/visualize.html#mode=edit python在线检测代码
    GDI+_绘制QQ头像
    socket编程之select()
    socket编程之select()
    设置itemcontrol的item点击前后不同状态
    设置itemcontrol的item点击前后不同状态
  • 原文地址:https://www.cnblogs.com/xingxia/p/MongoDB_use.html
Copyright © 2011-2022 走看看