Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

replSetGetConfig

在此页面上

  • 定义
  • 兼容性
  • 语法
  • 输出示例
replSetGetConfig

返回描述 副本集 当前 配置 的文档。

提示

mongosh 中,还可以通过 rs.conf() 辅助方法运行此命令。

辅助方法对 mongosh 用户来说很方便,但它们返回的信息级别可能与数据库命令不同。如果不追求方便或需要额外的返回字段,请使用数据库命令。

此命令可用于以下环境中托管的部署:

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

重要

M 0 、M 2和 M 5集群不支持此命令。 有关更多信息,请参阅不支持的命令。

要运行replSetGetConfig ,必须针对admin数据库发出 ,并且具有以下事务语法:

db.adminCommand( {
replSetGetConfig: 1,
commitmentStatus: <boolean>,
comment: <any>
} );
字段
类型
说明
replSetGetConfig
any
任何值
布尔

可选。 指定true以在输出中包含commitmentStatus字段。 commitmentStatus输出字段指示副本集之前的重新配置是否已提交,以便副本集准备好再次重新配置。 有关详细信息,请参阅commitmentStatus 输出字段。

在主节点上运行命令时,只能指定commitmentStatus: true选项。 如果在从节点上使用commitmentStatus: true运行,该命令会出错。

comment
any

可选。用户提供的待附加到该命令的注释。设置后,该注释将与该命令的记录一起出现在以下位置:

注释可以是任何有效的 BSON 类型(字符串、整型、对象、数组等)。

mongosh提供了封装 命令的rs.conf() replSetGetConfig方法:

rs.conf();

以下是在主节点 (primary node in thereplSetGetConfig replica set)节点上使用 commitmentStatus: true 运行的 命令的输出示例:

{
"config" : {
"_id" : "myRepl",
"version" : 180294,
"term" : 1,
"protocolVersion" : NumberLong(1),
"writeConcernMajorityJournalDefault" : true,
"members" : [
{
"_id" : 0,
"host" : "m1.example.net:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"secondaryDelaySecs" : NumberLong(0),
"votes" : 1
},
{
"_id" : 1,
"host" : "m2.example.net:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"secondaryDelaySecs" : NumberLong(0),
"votes" : 1
},
{
"_id" : 2,
"host" : "m3.example.net:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"secondaryDelaySecs" : NumberLong(0),
"votes" : 1
}
],
"settings" : {
"chainingAllowed" : true,
"heartbeatIntervalMillis" : 2000,
"heartbeatTimeoutSecs" : 10,
"electionTimeoutMillis" : 10000,
"catchUpTimeoutMillis" : -1,
"catchUpTakeoverDelayMillis" : 30000,
"getLastErrorModes" : {
},
"getLastErrorDefaults" : {
"w" : 1,
"wtimeout" : 0
},
"replicaSetId" : ObjectId("5eaa1e9ac4d650aa7817623d")
}
},
"commitmentStatus" : true,
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1588212091, 1),
"signature" : {
"hash" : BinData(0,"veOHa2mOeRTzuR0LKqnzGxWV77k="),
"keyId" : NumberLong("6821298283919441923")
}
},
"operationTime" : Timestamp(1588212091, 1)
}
字段
说明
config
副本集配置。 有关每个配置设置的说明,请参阅自管理副本集配置。

一个布尔值,表示最近的副本集配置是否已提交;即

  • 主节点的最新副本集配置已传播到大多数节点,并且

  • 在新配置中,使用先前配置对副本集进行的最后一次写入操作为majority-commited

如果true ,则配置已提交,可以重新配置副本集。 要重新配置副本集,请参阅replSetReconfig命令或mongosh方法rs.reconfig()

如果false ,则配置尚未提交,并且无法重新配置副本集。

ok
一个数字,表示命令是成功 ( 1 ) 还是失败 ( 0 )。
operationTime
$clusterTime
随副本集的每个命令返回。 有关详细信息,请参阅db.adminCommand Response

提示

另请参阅:

后退

replSetFreeze