Docs Menu

sh.removeShardFromZone()

sh.removeShardFromZone(shard, zone)

ゾーンとシャードの間の関連付けを削除します。

重要

mongosh メソッド

このページでは、mongosh メソッドについて記載しています。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません

データベースコマンドについては、removeShardFromZone コマンドを参照してください。

MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。

このメソッドには次のパラメーターがあります。

Parameter
タイプ
説明

string

ゾーン関連付けを削除するシャードの名前。

string

シャードとの関連付けを削除するゾーンの名前。

sh.removeShardFromZone()インスタンスに接続されている場合にのみmongos を発行します。

このメソッドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

重要

このコマンドは、M 0 、M 2 、M 5クラスターではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

sh.removeShardFromZone()では、ゾーンに関連付けられている範囲は削除されません。

クラスターからゾーンを完全に削除するには、ゾーンに関連付けられている各シャードでsh.removeShardFromZone()を実行する必要があります。

指定されたシャードがゾーンに関連付けられた最後のシャードである場合は、ゾーンに関連付けられている残りの範囲がないことを確認する必要があります。 sh.removeShardFromZone() を実行する前に、ゾーンに関連付けられている既存の範囲を削除するには、 updateZoneKeyRangeを使用し

シャーディングされたクラスター内のゾーンの詳細については、ゾーンのマニュアル ページを参照してください。

ゾーンとシャードの間の関連付けを削除すると、シャード上のゾーンによってカバーされるチャンクを維持する制約が削除されます。 次のバランサー ラウンド中に、バランサーは以前にゾーンによってカバーされていたチャンクを移行する場合があります。

シャーディングされたクラスターで移行がどのように機能するかについて詳しくは、 シャーディングされたクラスター バランサーのマニュアル ページを参照してください。

アクセス制御を強制するシャーディングされたクラスターの場合は、次のいずれかとして認証する必要があります。

  • 次の特権を持つユーザー:

    • データベース内のupdate shardsコレクションにある { }、およびconfig

    • findtagsデータベース内のconfig コレクションにある {

    または、あるいは、

  • クラスター リソースでenableSharding を含む 権限 を持つユーザー。

clusterAdminまたはclusterManagerの組み込みロールには、 sh.removeShardFromZone()を発行するための適切な権限があります。 詳細については、ロールベースのアクセス制御 のマニュアル ページを参照してください。

次の例では、 shard0000NYCゾーン間の関連付けを削除します。

sh.removeShardFromZone("shard0000", "NYC")