若使用的mongodb数据库不是admin权限(即添加的用户)时, 会连接失败, 权限不足, 需更改tp5拓展文件
文件位置:
vendor/topthink/think-mongo/src/Connection.php 188行
在这段代码的最后加上 ."/".$this->dbName;
//更改前
$host = 'mongodb://' . ($config['username'] ? "{$config['username']}" : '') . ($config['password'] ? ":{$config['password']}@" : '') . $config['hostname'] . ($config['hostport'] ? ":{$config['hostport']}" : '');
//更改后
$host = 'mongodb://' . ($config['username'] ? "{$config['username']}" : '') . ($config['password'] ? ":{$config['password']}@" : '') . $config['hostname'] . ($config['hostport'] ? ":{$config['hostport']}" : '')."/".$this->dbName;
一般情况下我们不会直接修改核心框架,我们可以继承该文件类,覆盖其方法进行修改。
如覆盖放置在extend/mongo/Connection.php。修改database.php文件更改对应的文件类:
// 数据库类型
'type' => '\mongo\Connection',
// 设置查询类
'query' => '\think\mongo\Query',