2016-07-26 17:32:08 5450次浏览 2条回答 1 悬赏 10 金钱
MongoDB Exception – yii\mongodb\Exception

Authentication failed.
↵
Caused by: MongoDB\Driver\Exception\AuthenticationException

Authentication failed.

in /mnt/hgfs/Server/logistics/vendor/yiisoft/yii2-mongodb/Command.php at line 240
1. in /mnt/hgfs/Server/logistics/vendor/yiisoft/yii2-mongodb/Command.php at line 245
2. in /mnt/hgfs/Server/logistics/vendor/yiisoft/yii2-mongodb/Command.php at line 496 – yii\mongodb\Command::executeBatch('customer', [])
补充于 2016-07-26 17:32

在 web.php中

'mongodb' => [
    'class' => '\yii\mongodb\Connection',
    'dsn' => 'mongodb://eva:111111@127.0.0.1:27017/logistics',
],
  • 回答于 2016-07-28 11:45 举报

    我也想知道这个问题

  • 回答于 2017-11-22 20:23 举报

    权限问题,这里的权限是指mongoDB的权限,也就是你给的用户名密码eva:111111无法操作你指定的数据库logistics

    其原因在于,你建立的账号eva没有包含在数据库logistics下。我猜你是把该账号建立在admin数据库下了。

    当初建立账号时,你一定是如下执行的:

    > use admin
    > db.createUser({
        user:'eva',
        pwd:'111111',
        roles:[
            role:'readWrite',
            db:'logistics'
        ]
    })
    

    这样建立的用户是简历在admin数据库下的。你可以执行show users查看到当前数据库下有哪些用户。

    解决这个问题,只需要切换到相应的数据库下,建立用户即可:

    # 这一步是关键,切换到相应的数据库下
    > use logistics
    # 下面是一样的
    > db.createUser({
        user:'eva',
        pwd:'111111',
        roles:[
            role:'readWrite',
            db:'logistics'
        ]
    })
    
    1 条回复
    回复于 2017-11-23 20:40 回复
您需要登录后才可以回答。登录 | 立即注册
xitehip
实习生

xitehip

注册时间:2014-09-11
最后登录:2016-08-07
在线时长:1小时3分
  • 粉丝0
  • 金钱5
  • 威望0
  • 积分15

热门问题