PHP-PHP采用非超级管理员账号连接mongoDB问题
最近在研究MongoDB,采用PHP去连接MongoDB,发现只能采用超级管理员的账号去连接MongoDB,采用别的账号却提示Uncaught exception 'MongoConnectionException' with message 'Couldn't authenticate with database admin: username [mydb], password [mydb]',请教一下,怎么采用非admin表的用户去连接MongoDB。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
链接dsn中加上db名称, 因为此用户没有对admin库的权限.
mongodb://[username:password@]host1[:port1]/mydb
参考《Mongodb权威指南》p114 8.3安全和认证
你用超级管理员时,超级管理员可以读写所有的数据库,执行特定的管理命令。对于你添加的其他用户来说。你要设置相应的权限,如下例
你可以检查下你设置用户是否正确,或是密码是否输入正确,或是权限是否设置正确