我有几个数据库,不想为每个数据库创建单独的用户帐户。MongoDB支持使用在另一个数据库中定义的帐户验证对数据库的访问的概念,但是语法示例很难找到。
我差点就要发帖子提问了,最后我终于弄清楚了。以下是我的方法,以防对其他人有所帮助。
use admin
db.addUser( { user: "mydbuser", pwd: "mypassword", roles: [ ] } )
use mydb
db.addUser( { user: "mydbuser", userSource: "admin" , roles: [ "readWrite" , "dbAdmin"] } )
var myDB = mongoose.createConnection("mongodb://mydbuser:mypassword@myipaddress:27017/mydb" ,{auth:{authdb:"admin"}});
{auth:...}选项指定用户帐户必须针对admin db进行身份验证。
mongo myipaddr:27017/mydb -u "mydbuser" -p "mypassword"