拉威尔+;MongoDB:无法进行身份验证
我有一个mongodb,在admin中定义了一个用户,如下所示拉威尔+;MongoDB:无法进行身份验证,mongodb,nosql,Mongodb,Nosql,我有一个mongodb,在admin中定义了一个用户,如下所示 { "_id" : "admin.realtebo", "user" : "realtebo", "db" : "admin", "roles" : [ { "role" : "root", "db" : "admin" }, {
{
"_id" : "admin.realtebo",
"user" : "realtebo",
"db" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
},
{
"role" : "readWriteAnyDatabase",
"db" : "admin"
}
],
}
当从linux shell工具mongo
使用此凭据时,我可以在mongo安装的每个数据库上成功地执行任何我想要的操作
我在my.env
DB_CONNECTION=mongodb
DB_HOST=127.0.0.1
DB_PORT=27017
DB_DATABASE=dev_db
DB_USERNAME=realtebo
DB_PASSWORD=<mypasswor>
我确信这不是Laravel或配置问题,因为同一个应用程序可以成功连接到远程mongodb
很抱歉问了这么多问题,但是。。必须如何在mongo的admin db中设置用户,以便realtebo
可以读写到dev_db
?我必须明确地将用户添加到dev\u db
提前感谢,我确信这是件愚蠢的事情。如果是jenssegers的mongodb,您需要在config\database.php中指定身份验证数据库:
'mongodb' => [
'driver' => 'mongodb',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', 27017),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'options' => [
'database' => 'admin' // <=== here
]
],
'mongodb'=>[
“驱动程序”=>“mongodb”,
'host'=>env('DB_host','localhost'),
“端口”=>env(“DB_端口”,27017),
'database'=>env('DB_database'),
'username'=>env('DB_username'),
'password'=>env('DB_password'),
“选项”=>[
'database'=>'admin'/如果是jenssegers'mongodb,则需要在config\database.php中指定身份验证数据库:
'mongodb' => [
'driver' => 'mongodb',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', 27017),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'options' => [
'database' => 'admin' // <=== here
]
],
'mongodb'=>[
“驱动程序”=>“mongodb”,
'host'=>env('DB_host','localhost'),
“端口”=>env(“DB_端口”,27017),
'database'=>env('DB_database'),
'username'=>env('DB_username'),
'password'=>env('DB_password'),
“选项”=>[
'数据库'=>'管理员'//