定义
cursor.readConcern(level)重要
mongosh 方法
这是一个
mongosh方法。 这不是Node.js或其他特定于编程语言的驱动程序方法的文档。在大多数情况下,
mongosh方法的工作方式与传统mongoshell方法相同。 但是,某些旧方法在mongosh中不可用。有关旧版
mongoshell 文档,请参阅相应 MongoDB Server 版本的文档:有关 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
版本 3.2 中的新增功能。
为 方法指定
db.collection.find()读关注(read concern) 。readConcern()方法采用以下形式:db.collection.find().readConcern(<level>) readConcern()方法具有以下参数:Parameter类型说明level字符串
可能的读关注级别是:
"local"这是针对主节点和从节点的读操作的默认读关注级别。"available"。可用于对主节点和从节点执行读取操作。对于主节点和非分片从节点,"available"行为与"local"相同。查询会返回实例的最新数据。"majority"。适用于使用 WiredTiger 存储引擎的副本集。"linearizable"。仅适用于primary的读取操作。
有关读关注级别的更多信息,请参阅读关注级别。
兼容性
此方法可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
注意
所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
Considerations
读取自己的写入
如果写入请求确认,您可以使用因果一致的会话来读取您自己的写入。
线性化读关注(read concern)性能
指定linearizable read concern时,请始终使用maxTimeMS() ,以防大多数数据承载节点不可用。
db.restaurants.find( { _id: 5 } ).readConcern("linearizable").maxTimeMS(10000)