getDefaultRWConcern
定义
getDefaultRWConcern
该
getDefaultRWConcern
管理命令检索全局默认读写关注点设置。对于分片集群,在
mongos
.
兼容性
此命令在以下环境中托管部署中可用
MongoDB Atlas:云中MongoDB部署的全托管服务
注意
此命令在所有MongoDB Atlas集群中受支持。有关所有命令的Atlas支持信息,请参阅不受支持的命令。
MongoDB Enterprise:基于订阅的MongoDB自管理版本
MongoDB Community:源代码可用的免费使用和自管理MongoDB版本
语法
该命令具有以下形式
db.adminCommand( { getDefaultRWConcern: 1 , inMemory: <boolean>, comment: <any> } )
命令字段
该命令具有以下字段
字段 | 类型 | 描述 |
---|---|---|
int | 设置为 | |
boolean | 可选。 设置为 设置为 | |
comment | any | 可选。用户提供的附加到此命令的注释。一旦设置,此注释将出现在以下位置的记录旁边
注释可以是任何有效的 BSON 类型(字符串、整数、对象、数组等)。 |
输出
输出可能包括以下字段
字段 | 类型 | 描述 |
---|---|---|
对象 | 全局默认的 写关注 配置。 如果没有全局默认的写关注设置,则 | |
对象 | 全局默认的 读关注 配置。 如果没有全局默认的读关注设置,则 | |
字符串 | 默认写关注的来源。默认值为 | |
字符串 | 默认读关注的来源。默认值为 | |
时间戳 | 最后修改任何全局默认读或写关注设置的操作时间戳。如果集群已设置默认值,则显示。 | |
日期 | 管理员最后设置全局默认读或写关注时的系统时钟日期。此值仅供参考,不应用于任何时间比较。 | |
日期 |
|
行为
注意
需要功能兼容版本 4.4+
复制集或分片集群中的每个 mongod
必须 将 功能兼容版本 设置为至少 4.4
才能使用 getDefaultRWConcern
。如果您将部署的 功能兼容版本 从 4.4
回退到 4.2
,则所有集群范围内的读写关注默认值都会丢失,但 mongos
实例可能还会继续应用默认值,长达 30 秒。
复制集
您可以对复制集的任何承载数据的成员执行 getDefaultRWConcern
(即不是对 仲裁者)。
如果辅助节点尚未从主节点复制最新更改,则可能返回全局默认设置的“过时”版本。
分片集群
在集群中的 mongos
上执行 setDefaultRWConcern
命令。
每个 mongos
会定期刷新其全局默认设置的本地副本。如果 mongos
在全局默认设置最近更新后尚未刷新其本地副本,或者从延迟的 配置服务器次要节点 获取设置,则它可能会返回全局默认设置的“过时”版本。
全局默认设置不会传播到各个分片。您不能对分片执行 getDefaultRWConcern
命令。
访问控制
对于强制执行 自我管理部署的身份验证 的副本集或分片集群,getDefaultRWConcern
命令需要认证用户具有 getDefaultRWConcern
权限操作。
内置的 clusterManager
或 clusterMonitor
角色提供了运行 getDefaultRWConcern
所需的权限。
示例
以下操作检索当前配置的全局默认读取和写入关注点,针对 mongod
。
db.adminCommand({ "getDefaultRWConcern": 1 })
操作返回的输出类似于以下内容
{ "defaultWriteConcern" : { "w" : "majority" }, "defaultReadConcern" : { "level" : "majority" }, "defaultWriteConcernSource" : "global", "defaultReadConcernSource" : "global", "updateOpTime" : Timestamp(1586290895, 1), "updateWallClockTime" : ISODate("2020-04-07T20:21:41.849Z"), "localUpdateWallClockTime" : ISODate("2020-04-07T20:21:41.862Z"), "ok" : 1, "$clusterTime" : { ... } "operationTime" : Timestamp(1586290925, 1) }