Overview
在本指南中,您可以学习如何Go驱动程序管理集群以及如何自定义集群设置。
指定设置
在创建新的 Client实例时,您可以使用连接字符串或 ClientOptions 结构来指定集群的设置。 选择 Connection String 或 ClientOptions标签页,查看可用选项。
下表描述了可在连接字符串中使用的参数,这些参数用于在与MongoDB 集群交互时修改驱动程序的行为:
Parameter | 说明 |
|---|---|
| 指定驱动程序在抛出错误之前等待服务器可用的最长时间。 默认值:30 秒 |
| 指定选择服务器的最大延迟(以毫秒为单位)。 默认值:15 毫秒 |
| 指定要连接到的副本集的名称。 |
| 指定是否绕过副本集或分片集群,直接连接到单个服务器。 默认: |
| 指定驱动程序是否使用负载均衡器连接到MongoDB。如果设立为 只有在满足以下要求时,您才能将此选项设置为
默认: |
| 指定 SRV 资源记录的服务名称,驱动程序会检索该名称来构建您的种子列表。您必须在连接字符串中使用 DNS 种子列表连接格式,才能使用此选项。 |
| 指定驱动程序是否降低返回过载错误的服务器的优先级,从而降低在同一台过载服务器上重试的可能性。 默认: |
| 指定驱动程序重试因服务器端过载错误而失败的操作的最大次数。 默认: |
下表描述了可以链接到 ClientOptions 结构以修改驱动程序行为的几种方法:
方法 | 说明 |
|---|---|
| 指定驱动程序在抛出错误之前等待服务器可用的最长时间。 默认值:30 秒 |
| 指定选择服务器的最大延迟(以毫秒为单位)。 默认值:15 毫秒 |
| 指定要连接到的副本集的名称。 |
| 指定是否绕过副本集或分片集群,直接连接到单个服务器。 默认: |
| 指定驱动程序是否使用负载均衡器连接到MongoDB。如果设立为 只有在满足以下要求时,您才能将此选项设置为
默认: |
| |
| 指定驱动程序是否降低返回过载错误的服务器的优先级,从而降低在同一台过载服务器上重试的可能性。 默认: |
| 指定驱动程序重试因服务器端过载错误而失败的操作的最大次数。 默认: |
要学习;了解有关可用方法的更多信息,请参阅API文档部分。
例子
选择 Connection String 或 ClientOptions标签页,查看相应示例:
以下代码使用连接字符串将最大服务器选择超时配置为 10 秒,并将本地阈值配置为 20 毫秒:
const uri = "mongodb://localhost:27017/?serverSelectionTimeoutMS=10000&localThresholdMS=20"以下代码创建一个客户端并将连接字符串传递给 ApplyURI() 方法:
client, err := mongo.Connect(options.Client().ApplyURI(uri))if err != nil { log.Fatal(err)}以下代码创建一个客户端,并设置集群选项,其中最大服务器选择超时为 10 秒,本地阈值为 20 毫秒:
clientOptions := options.Client(). ApplyURI(uri). SetServerSelectionTimeout(10 * time.Second). SetLocalThreshold(20 * time.Millisecond)
client, err := mongo.Connect(clientOptions)if err != nil { log.Fatal(err)}API 文档
要学习;了解有关本指南中方法和类型的更多信息,请参阅以下API文档: