【问题标题】:Laravel 5.5 + MongoDb Atlas ClusterLaravel 5.5 + MongoDb Atlas 集群
【发布时间】:2019-01-28 06:11:55
【问题描述】:

我正在使用 laravel 5.5mongodb。我已经成功地将 mongodb 与我的本地系统连接起来。但我正在尝试连接 mongodb atlas 集群。我尝试了不同的方法,但我需要一些详细信息。 谁能解释一下DNS的格式是什么?

我正在关注 Connect laravel jenssegers to mongodb atlas cluster.

我从 atlas 集群复制了我的 dsn

这是我的内部连接配置:

'mongodb_conn' => [ 'driver' => 'mongodb', 'dsn'=>'mongodb+srv://username:password@hostname/test?retryWrites=true', 'database' => 'db_name',],

谢谢

【问题讨论】:

    标签: database mongodb laravel-5


    【解决方案1】:

    使用 DSN 格式,您可以指定所有参数和配置,以通过单个 URL 连接 Mongo。这包括集群 URL、副本 URL、身份验证数据、端口和选项。在 Mongo Atlas 获取集群的 DSN URL:

    单击集群上的连接按钮:

    选择“连接您的应用程序”:

    如果您选择我使用的是驱动程序 3.4 或更早版本,请从此处开始。 你会得到一个这样的 URL:

    mongodb://<USER>:<PASSWORD>@shardname00.mongodb.net:27017,shardname01.mongodb.net:27017,shardname02.mongodb.net:27017/test?ssl=true&replicaSet=replicaName&authSource=admin&retryWrites=true
    

    在这个 URL 中你只需要替换用户名和密码,其余的你可以保持原样。

    如果您选择我使用的是驱动程序 3.6 或更高版本。 你会得到一个这样的 URL:

    mongodb+srv://<USER>:<PASSWORD>@clusterName.mongodb.net/test?retryWrites=true
    

    注意开头的+srv。这对于让司机知道它是 SRV 记录很重要。

    如果您对您的环境没有任何限制,您应该选择最新选项,因为这为您提供了更大的灵活性,因为如果您稍后添加更多副本,则无需更改配置。

    从 PHP 连接,您还应该在 DSN URL 的末尾添加这些参数:

    serverSelectionTryOnce=false&serverSelectionTimeoutMS=30000
    

    有关参数和连接字符串的更多信息,请访问Mongo Docs

    【讨论】:

      猜你喜欢
      • 2017-12-12
      • 1970-01-01
      • 2018-03-05
      • 2022-12-04
      • 2019-06-10
      • 1970-01-01
      • 2021-03-09
      • 2020-01-15
      • 2023-03-24
      相关资源
      最近更新 更多