将laravel jenssegers连接到mongodb atlas集群

Lui*_*ado 3 php mongodb laravel jenssegers-mongodb mongodb-atlas

我从Mongodb地图集开始,我试图将我的laravel/jenssegers项目连接到集群我配置我的conf /数据库

'mongodb' => [
  'driver'   => 'mongodb',
  'host'     => env('DB_HOST'),
  'port'     => env('DB_PORT', '27017'),
  'database' => env('DB_DATABASE'),
  'username' => env('DB_USERNAME'),
  'password' => env('DB_PASSWORD'),
  'options'  => [
      'database' => 'admin' // sets the authentication database required by mongo 3
  ]
  ],
Run Code Online (Sandbox Code Playgroud)

还有我的.env文件

DB_HOST="xxxx-shard-00-00-uggj0.mongodb.net"
DB_PORT=27017
DB_DATABASE=xxx
DB_USERNAME=xxx
DB_PASSWORD=xxx
Run Code Online (Sandbox Code Playgroud)

我得到这个错误

找不到合适的服务器(serverSelectionTryOnce设置):[连接已关闭,在'xxxx-shard-00-00-uggj0.mongodb.net:27017'上调用ismaster

我没有问题就与Mongodb Compass冷漠相处.

我的Atlas Ip白名单是开放的(0.0.0.0/0).

我错过了什么吗?

sau*_*abh 13

在Laravel中,使用config/database.php中的'dsn'键,如下所示,提及完整的集群URL.

'mongodb_conn' => [
        'driver' => 'mongodb',
        'dsn'=>'mongodb://username:password@host1,host2/database?ssl=true&replicaSet=replicaSet&authSource=admin',
        'database' => 'my_data',
    ]
Run Code Online (Sandbox Code Playgroud)