无法使用php连接到mongodb数据库用户
发布时间:2020-12-13 16:18:24 所属栏目:PHP教程 来源:网络整理
导读:我在我的服务器上运行了一个auth = true的mongod. 如果我登录我的管理员用户(来自管理数据库),获取数据没问题. ?php$connection = new Mongo("mongodb://admin:adminpass@127.0.0.1");$db = $connection-selectDB( "mydb" );$collection = $db-selectCollect
我在我的服务器上运行了一个auth = true的mongod.
如果我登录我的管理员用户(来自管理数据库),获取数据没问题. <?php $connection = new Mongo("mongodb://admin:adminpass@127.0.0.1"); $db = $connection->selectDB( "mydb" ); $collection = $db->selectCollection( "user" ); var_dump($collection->findOne()); ?> 但如果我替换第一行 $connection = new Mongo("mongodb://mydbadmin:dbadminpass@127.0.0.1:27017"); 它无法连接并得到如下错误: Fatal error: Uncaught exception 'MongoConnectionException' with message 'Couldn't authenticate with database admin: username [mydbadmin]' in ..... 所以问题是新的Mongo()尝试将我的用户连接到管理数据库而不是“mydb”数据库.如何选择要连接的数据库? 编辑: 根据http://php.net/manual/fr/mongo.construct.php $login = array("username" => "mydbadmin","password" => "dbadminpass","db" => "mydb","connect" => true ); $connection = new Mongo("mongodb://localhost",$login); 但 Couldn't authenticate with database mydb: username [mydbadmin]' in ..... 解决方法
好吧,如果你没有在构造函数中指定db,它默认使用admin数据库(如
Mongo::__construct -reference中所述).请尝试以下方法:
$connection = new Mongo("mongodb://admin:adminpass@127.0.0.1/mydb"); 注意host-part之后的/ mydb,它允许PHP-api连接到所需的数据库. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |