定義
rs.syncFrom()現在のメンバーのデフォルトの同期ターゲットを一時的に上書きします。
重要
mongosh メソッド
このページでは、
mongoshメソッドについて記載しています。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません。データベースコマンドについては、
replSetFreezeコマンドを参照してください。MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。
複製するノードの名前を
[hostname]:[port]の形式で指定します。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
動作
制限
replSetSyncFrom がデフォルトの同期ターゲットを上書きするには、settings.chainingAllowed を true に設定する必要があります。
settings.chainingAllowed が false に設定されている場合、replSetSyncFrom は ok:1 を返しますが、同期ターゲットは設定されません。
同期ロジック
replSetSyncFromの実行時に最初の同期操作が進行中であった場合、 replSetSyncFromは進行中の最初の同期を停止し、新しいターゲットで同期プロセスを再開します。
デフォルトの同期ロジックは必要な場合にのみ変更し、常に注意を払ってください。
ターゲット
同期元のメンバーは、セット内の有効なデータソースである必要があります。 ノードから同期するには、ノードは次の操作を行う必要があります。
データを用意します。 スタートアップ モードまたはリカバリ モードではアービタになることはできず、データクエリに答えることができる必要があります。
アクセス可能であること。
レプリカセット構成で同じセットのノードである。
members[n].buildIndexes設定でインデックスを構築します。セットの別のノード。それ自体からの同期を妨げます。
現在のメンバーより 10 秒以上遅れたメンバーから複製しようとすると、 mongodは警告をログに記録しますが、遅延ノードからの複製は引き続き遅延します。 「レプリケーションラグとフロー制御 」も参照してください。
永続性
replSetSyncFromは、デフォルトの動作の一時的なオーバーライドを提供します。 次の状況では、 mongodはデフォルトの同期動作に戻ります。
例
rs.syncFrom()mongoshで ヘルパーを使用する方法
rs.syncFrom("myHost:27017");