1

レプリカ セットには 5 人の mongo メンバーがいました。そこから3を削除した後。

他のメンバーの「_id」を値「0」、「1」、「2」に変更するにはどうすればよいですか?

rs.conf()
{
        "_id" : "rs0",
        "version" : 151261,
        "members" : [
                {
                        "_id" : 3,
                        "host" : "mongodb3:27017"
                },
                {
                        "_id" : 4,
                        "host" : "mongodb4:27017"
                },
                {
                        "_id" : 5,
                        "host" : "ok:27017",
                        "arbiterOnly" : true
                }
        ]
}
4

3 に答える 3

0

ここで説明されているように、スレーブ コレクションをドロップしてみてください: http://docs.mongodb.org/manual/tutorial/troubleshoot-replica-sets/#duplicate-key-error-on-local-slaves

マスターは、次に必要になったときにコレクションを再作成します。

于 2014-10-01T12:27:25.803 に答える
0

レプリカ セットの構成を直接編集するのは、洗練された方法ではない場合があります。代わりに、rs.remove(hostname)コマンドを使用してレプリカ セットからメンバーを削除します。この方法では、再構成中にプライマリを停止する必要がなく、昇順の値が "_id" フィールドに自動的に割り当てられます。

于 2014-10-01T12:23:16.587 に答える