node.js – MongoDB和Mongoose访问一个数据库,同时对另一个数据库进行身份验证(NodeJS,Mongoose)

我有几个数据库,不想为每个数据库创建单独的用户帐户. MongoDB支持使用另一个数据库中定义的帐户验证对数据库的访问权限的概念,但语法示例很难得到.

当我终于弄明白时,我即将发布一个问题.这是为了以防万一

解决方法

这是 mongodb,mongoose,节点设置的语法.

>从mongo shell在admin数据库中创建数据库用户

使用管理员

db.addUser({user:“mydbuser”,pwd:“mypassword”,roles:[]})
>创建数据库添加用户 – userSource指示该用户
凭据在管理数据库中定义

使用mydb
db.addUser({user:“mydbuser”,userSource:“admin”,roles:[“readWrite”,“dbAdmin”]})
>在mongoose连接字符串中指定auth参数

var myDB = mongoose.createConnection(“mongodb:// mydbuser:mypassword @ myipaddress:27017 / mydb”,{auth:{authdb:“admin”}});

选项{auth:…}是指定必须针对admin db对用户帐户进行身份验证的选项.
>类似于从mongo shell连接到数据库

mongo myipaddr:27017 / mydb -u“mydbuser”-p“mypassword”

注意:用户“mydbuser”只对mydb具有读/写和管理访问权限.您可以找到有关用户权限here的更多信息.该方案的更完整示例是here

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...