MongoDB教程
MongoDB运算符
MongoDB命令
MongoDB数据库
MongoDB Shell
MongoDB云和工具

MongoDB 复制方法

MongoDB复制方法用于将成员复制到副本集。

#1、 rs.add(host,arbiterOnly)

add方法将成员添加到指定的副本集。我们需要连接到此方法的副本集的主集。如果该方法将触发主要对象的选举,则将终止与Shell的连接。例如-如果我们尝试添加一个优先级高于主要成员的新成员。即使操作成功,mongo shell也会反映出错误。
示例:
在以下示例中,我们将添加一个新的具有默认投票。
rs.add( { host: "mongodbd4.example.net:27017" } )
主机名
rs.add( "mongodbd4.example.net:27017" )

MongoDB复制方法

#2、 rs.addArb(host)

我们可以将新的仲裁程序添加到指定主机上的现有副本集。
示例
将仲裁器添加到关联主机名
mongod --bind_ip localhost,My-Example-<Associated-Hostname>
如果要连接到该实例,则必须由远程客户端指定主机名或其关联的IP地址198.52.100.2:
mongo --host My-Example-<Associated-Hostname>
mongo --host 198.52.100.2

MongoDB复制方法

#3、 rs.conf()

使用conf方法获取包含当前副本集配置的文档。
rs.conf()包装replSetGetConfig命令配置。
示例
以下脚本显示了副本集的配置文档,其中包括这些设置的子集:
{
  _id: <string>,
  version: <int>,
  protocolVersion: <number>,
  writeConcernMajorityJournalDefault: <boolean>,
  configsvr: <boolean>,
  members: [
    {
      _id: <int>,
      host: <string>,
      arbiterOnly: <boolean>,
      buildIndexes: <boolean>,
      hidden: <boolean>,
      priority: <number>,
      tags: <document>,
      slaveDelay: <int>,
      votes: <number>
              }, ], settings: {
    chainingAllowed : <boolean>,
    heartbeatIntervalMillis : <int>,
    heartbeatTimeoutSecs: <int>,
    electionTimeoutMillis : <int>,
    catchUpTimeoutMillis : <int>,
    getLastErrorModes : <document>,
    getLastErrorDefaults : <document>,
    replicaSetId: <ObjectId>
  }
}
输出:
MongoDB复制方法

#4、 rs.initiate(configuration)

该方法启动副本集。可以使用此方法考虑包含副本集的rs.initiate()配置的文档,但这是可选的。
示例
以下示例将启动一个具有三个不同成员的新副本集。
   {
      _id: "JTPReplSet",
      version: 1,
      members: [
         { _id: 0, host : "mongodb0.example.net:27017" },
         { _id: 1, host : "mongodb1.example.net:27017" },
         { _id: 2, host : "mongodb2.example.net:27017" }
      ]
   }
)
输出:
MongoDB复制方法

#5、 rs.reconfig(configuration,force)

顾名思义,该方法用于重新配置现有副本集。它将覆盖所有现有的副本集配置。我们必须连接到主副本集才能运行此方法。
示例
名为rs0的副本集具有以下配置:
{
   "_id" : "rs0",
   "version" : 1,
   "protocolVersion" : NumberLong(1),
   "members" : [
      {
         "_id" : 0,
         "host" : "mongodb0.example.net:27017",
         "arbiterOnly" : false,
         "buildIndexes" : true,
         "hidden" : false,
         "priority" : 1,
         "tags" : {
         },
         "slaveDelay" : NumberLong(0),
         "votes" : 1
      },
      {
         "_id" : 1,
         "host" : "mongodb1.example.net:27017",
         "arbiterOnly" : false,
         "buildIndexes" : true,
         "hidden" : false,
         "priority" : 1,
         "tags" : {
         },
         "slaveDelay" : NumberLong(0),
         "votes" : 1
      },
      {
         "_id" : 2,
         "host" : "mongodb2.example.net:27017",
         "arbiterOnly" : false,
         "buildIndexes" : true,
         "hidden" : false,
         "priority" : 1,
         "tags" : {
         },
         "slaveDelay" : NumberLong(0),
         "votes" : 1
      }
   ],
   "settings" : {
      "chainingAllowed" : true,
      "heartbeatIntervalMillis" : 2000,
      "heartbeatTimeoutSecs" : 10,
      "electionTimeoutMillis" : 10000,
      "catchUpTimeoutMillis" : 2000,
      "getLastErrorModes" : {
      },
      "getLastErrorDefaults" : {
         "w" : 1,
         "wtimeout" : 0
      },
      "replicaSetId" : ObjectId("58858acc1f5609ed986b641b")
   }
}

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4