配置客户端级增删改查设置
Overview
在本指南中,您可以学习;了解如何使用Java驾驶员为 MongoClient
实例配置增删改查操作。
读取偏好、读关注和写关注可控制驱动程序如何路由读操作,以及在连接 MongoDB 副本集时如何等待读写操作的确认。读取偏好和读关注适用于所有读操作;写关注适用于所有写操作。
有关更多信息,请参阅有关 读取偏好、读关注和写入关注的服务器文档。
MongoDatabase
MongoCollection
和MongoClient
实例从访问它们的 继承偏好和关注点。但是,您可以应用数据库和集合。有关更多信息,请参阅“配置自定义增删改查设置”页面。
您可以使用连接字符串或将 MongoClientSettings
对象传递给MongoClients 构造函数来指定客户端级增删改查设置。选择 Connection String 或 MongoClientSettings标签页,查看可用选项:
在连接字符串中包含以下参数以修改驱动程序的读取或写入行为:
选项名称 | 类型 | 说明 |
---|---|---|
| 布尔 | 指定驱动程序必须等待已连接的 MongoDB 实例为所有写入操作将提交分组到磁盘上的日志文件。 默认值: |
| 字符串或整数 | 指定写关注(write concern)。有关值的更多信息,请参阅MongoDB Server文档中的 w 选项。 默认值: |
| 整型 | 指定写关注(write concern)的时间限制(以毫秒为单位)。有关更多信息,请参阅MongoDB Server文档中的 wtimeoutMS 选项。值为 默认值: |
| 字符串 | 指定读取偏好(read preference)。有关值的更多信息,请参阅MongoDB Server文档中的 readPreference 选项。 默认值: |
| 字符串 | 指定读取偏好(read preference)标签。有关值的更多信息,请参阅MongoDB Server文档中的 readPreferenceTags 选项。 默认值: |
| 整型 | 指定在驾驶员停止与从从节点(secondary node from replica set)通信之前从从节点(secondary node from replica set)的陈旧程度(以秒为单位)。最小值为 90 秒或心跳频率加 10 秒,以较大者为准。有关更多信息,请参阅MongoDB Server文档中的maxStalenessSeconds 选项。不提供参数或显式指定 默认值: |
| 字符串 | 指定用于读取和写入操作的 UUID 表示形式。有关更多信息,请参阅 MongoClientSettings.getUuidRepresentation() 方法的驾驶员文档。 默认值: |
| 布尔 | 指定驱动程序在由于网络错误而无法完成支持的写入操作时必须重试这些操作。 默认值: |
| 布尔 | 指定驱动程序在由于网络错误而无法完成支持的读取操作时必须重试这些操作。 默认值: |
以下示例将读取偏好(read preference)设置为从最近的副本集成员读取:
ConnectionString connectionString = "mongodb://<host>:<port>/?readPreference=nearest" MongoClient mongoClient = MongoClients.create(connectionString)
有关这些参数的更多信息,请参阅 ConnectionString API文档。
将以下方法链接到 MongoClientSettings
构造函数以修改驱动程序的读/写入行为:
| |
| 默认值: |
| 如果发生网络错误,驱动程序是否执行重试读取。 默认值: |
| 如果出现网络错误,驱动程序是否执行重试写入。 默认值: |
| 设置在编码 UUID 实例和解码子类型为 3 的 BSON 二进制值时使用的 UUID 表示。 |
|
以下示例将读取偏好(read preference)设置为从最近的副本集成员读取:
MongoClient mongoClient = MongoClients.create( MongoClientSettings.builder().applyConnectionString(new ConnectionString("<your connection string>")) .readPreference(ReadPreference.nearest()) .build());
有关这些方法的更多信息,请参阅 MongoClientSettings.Builder API文档。