我从 Mongodb atlas 开始,我试图将我的 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
]
],
还有我的 .env 文件
DB_HOST="xxxx-shard-00-00-uggj0.mongodb.net"
DB_PORT=27017
DB_DATABASE=xxx
DB_USERNAME=xxx
DB_PASSWORD=xxx
我得到了这个错误
No suitable servers found (
serverSelectionTryOnce
set): [connection closed calling ismaster on 'xxxx-shard-00-00-uggj0.mongodb.net:27017'
我冷连接 Mongodb Compass 没有问题。
My Atlas IP 白名单 已打开 (0.0.0.0/0)。
我错过了什么吗?
最佳答案
在 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',
]
关于php - 将 laravel jenssegers 连接到 mongodb atlas 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44979599/