当前位置: 首页 > news >正文

mongodb 添加用户报错TypeError:db.addUser is not a function (mongodb3.4.1)

1:问题如下:

这里写图片描述

原因是 新版的MongoDB已经不支持addUser方法了。 
改成createUser了。 
使用方法如下 
这里写图片描述

 

 

 

2:具体解释一下db.createUser()方法的用法

 

定义:

创建一个数据库新用户用db.createUser()方法,如果用户存在则返回一个用户重复错误。


语法:
db.createUser(user, writeConcern)
    user这个文档创建关于用户的身份认证和访问信息;
    writeConcern这个文档描述保证MongoDB提供写操作的成功报告。

· user文档,定义了用户的以下形式:
{ user: "<name>",
  pwd: "<cleartext password>",
  customData: { <any information> },
  roles: [
    { role: "<role>", db: "<database>" } | "<role>",
    ...
  ]
}

user文档字段介绍:
    user字段,为新用户的名字;
    pwd字段,用户的密码;
    cusomData字段,为任意内容,例如可以为用户全名介绍;
    roles字段,指定用户的角色,可以用一个空数组给新用户设定空角色;
    在roles字段,可以指定内置角色和用户定义的角色。

    Built-In Roles(内置角色):
    1. 数据库用户角色:read、readWrite;
    2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 备份恢复角色:backup、restore;
    5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    6. 超级用户角色:root  
    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
    7. 内部角色:__system
    PS:关于每个角色所拥有的操作权限可以点击上面的内置角色链接查看详情。

· writeConcern文档(官方说明)
    w选项:允许的值分别是 1、0、大于1的值、"majority"、<tag set>;
    j选项:确保mongod实例写数据到磁盘上的journal(日志),这可以确保mongd以外关闭不会丢失数据。设置true启用。
    wtimeout:指定一个时间限制,以毫秒为单位。wtimeout只适用于w值大于1。

例如:在products数据库创建用户accountAdmin01,并给该用户admin数据库上clusterAdmin和readAnyDatabase的角色,products数据库上readWrite角色。
use products
db.createUser( { "user" : "accountAdmin01",
                 "pwd": "cleartext password",
                 "customData" : { employeeId: 12345 },
                 "roles" : [ { role: "clusterAdmin", db: "admin" },
                             { role: "readAnyDatabase", db: "admin" },
                             "readWrite"
                             ] },
               { w: "majority" , wtimeout: 5000 } )

验证:
mongo -u accountAdmin01 -p yourpassward --authenticationDatabase products

 

相关文章:

  • now code——小a和黄金街道(欧拉函数和快速幂模板)
  • 手动配置IP网络
  • 移动商城第十三篇【用户拦截器】
  • HOWTO fix Windows Update error 0x80244019
  • 事件的捕获、冒泡、委托
  • 编写第一个HTML5文件
  • Spring学习笔记下载
  • Wordcloud各参数含义
  • Android多工程(project)开发实例
  • eclipse中项目svn转gitLab全过程
  • webRTC开启摄像头
  • 白话 KMP 算法
  • python web开发之flask框架学习(2) 加载模版
  • 异步任务 -- FutureTask
  • (二)学习JVM —— 垃圾回收机制
  • php的引用
  • 【Amaple教程】5. 插件
  • 2019.2.20 c++ 知识梳理
  • eclipse的离线汉化
  • gops —— Go 程序诊断分析工具
  • JAVA_NIO系列——Channel和Buffer详解
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • 从零开始的无人驾驶 1
  • 番外篇1:在Windows环境下安装JDK
  • 为什么要用IPython/Jupyter?
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • ​iOS实时查看App运行日志
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • #162 (Div. 2)
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (阿里云万网)-域名注册购买实名流程
  • (笔试题)合法字符串
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附源码)php新闻发布平台 毕业设计 141646
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (推荐)叮当——中文语音对话机器人
  • (新)网络工程师考点串讲与真题详解
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .naturalWidth 和naturalHeight属性,
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Framework 服务实现监控可观测性最佳实践
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .net连接oracle数据库
  • 。Net下Windows服务程序开发疑惑