两个有关mongodb的bug,希望修正~

浏览:1064 发布日期:2016/08/29
3.2.3 - 严重 - 未处理
1.数据库连接采用
$mongo = new MongoClient("mongodb://root:123456@localhost:27017/admin");这种形式时,当密码包含特殊字符 @ 的时候,连接会报错!
解决方案是,用下面的连接方式:
$mongo = new MongoClient("mongodb://localhost:27017", array('username'=>'root','password'=>'123456','db'=>'admin'));

2.当mongo设置了超级用户后,虽然该用户有管理所有数据库的权限,但该用户并不能直接连接新创建的数据库,而是需要先在admin库验证后,才可以操作普通库test,如下操作:
$mongo = new MongoClient("mongodb://localhost:27017", array('username'=>'root','password'=>'123456','db'=>'test'));
会报错,需要验证身份,正确的操作如下:

先在admin库验证身份:
$mongo = new MongoClient("mongodb://localhost:27017", array('username'=>'root','password'=>'123456','db'=>'admin'));

再选择一个其他库test进行操作:
$db = $mongo->selectDB('test'); //选择数据库

这样就不会报错了。
评论(
后面还有条评论,点击查看>>