Docs 菜单
Docs 主页
/ / /
Java (Sync) 驱动程序
/ /

配置客户端级增删改查设置

在本指南中,您可以学习;了解如何使用Java驾驶员为 MongoClient 实例配置增删改查操作。

读取偏好读关注写关注可控制驱动程序如何路由读操作,以及在连接 MongoDB 副本集时如何等待读写操作的确认。读取偏好和读关注适用于所有读操作;写关注适用于所有写操作。

有关更多信息,请参阅有关 读取偏好读关注写入关注的服务器文档。

MongoDatabase MongoCollectionMongoClient 实例从访问它们的 继承偏好和关注点。但是,您可以应用数据库和集合。有关更多信息,请参阅“配置自定义增删改查设置”页面。

您可以使用连接字符串或将 MongoClientSettings对象传递给MongoClients 构造函数来指定客户端级增删改查设置。选择 Connection StringMongoClientSettings标签页,查看可用选项:

在连接字符串中包含以下参数以修改驱动程序的读取或写入行为:

选项名称
类型
说明

journal

布尔

指定驱动程序必须等待已连接的 MongoDB 实例为所有写入操作将提交分组到磁盘上的日志文件。

默认值false

w

字符串或整数

指定写关注(write concern)。有关值的更多信息,请参阅MongoDB Server文档中的 w 选项。

默认值1

wtimeoutMS

整型

指定写关注(write concern)的时间限制(以毫秒为单位)。有关更多信息,请参阅MongoDB Server文档中的 wtimeoutMS 选项。值为 0 指示驾驶员写入操作永不超时。

默认值0

readPreference

字符串

指定读取偏好(read preference)。有关值的更多信息,请参阅MongoDB Server文档中的 readPreference 选项。

默认值primary

readPreferenceTags

字符串

指定读取偏好(read preference)标签。有关值的更多信息,请参阅MongoDB Server文档中的 readPreferenceTags 选项。

默认值null

maxStalenessSeconds

整型

指定在驾驶员停止与从从节点(secondary node from replica set)通信之前从从节点(secondary node from replica set)的陈旧程度(以秒为单位)。最小值为 90 秒或心跳频率加 10 秒,以较大者为准。有关更多信息,请参阅MongoDB Server文档中的maxStalenessSeconds 选项。不提供参数或显式指定 -1 表示从节点不能进行过时检查。

默认值-1

uuidRepresentation

字符串

retryWrites

布尔

指定驱动程序在由于网络错误而无法完成支持的写入操作时必须重试这些操作。

默认值true

retryReads

布尔

指定驱动程序在由于网络错误而无法完成支持的读取操作时必须重试这些操作。

默认值true

以下示例将读取偏好(read preference)设置为从最近的副本集成员读取:

ConnectionString connectionString = "mongodb://<host>:<port>/?readPreference=nearest"
MongoClient mongoClient = MongoClients.create(connectionString)

有关这些参数的更多信息,请参阅 ConnectionString API文档。

将以下方法链接到 MongoClientSettings 构造函数以修改驱动程序的读/写入行为:

readConcern()

设置读关注(read concern)。服务器手册页 API文档

readPreference()

retryReads()

如果发生网络错误,驱动程序是否执行重试读取

默认值true

retryWrites()

如果出现网络错误,驱动程序是否执行重试写入

默认值true

uuidRepresentation()

设置在编码 UUID 实例和解码子类型为 3 的 BSON 二进制值时使用的 UUID 表示。

writeConcern()

设置写关注

默认值WriteConcern#ACKNOWLEDGED。 |有关默认值的更多信息,请参阅隐式默认写关注。

以下示例将读取偏好(read preference)设置为从最近的副本集成员读取:

MongoClient mongoClient = MongoClients.create(
MongoClientSettings.builder().applyConnectionString(new ConnectionString("<your connection string>"))
.readPreference(ReadPreference.nearest())
.build());

有关这些方法的更多信息,请参阅 MongoClientSettings.Builder API文档。

后退

套接字设置

在此页面上

  • Overview