定義
sh.removeShardFromZone(shard, zone)ゾーンとシャードの間の関連付けを削除します。
重要
mongosh メソッド
このページでは、
mongoshメソッドについて記載しています。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません。データベースコマンドについては、
removeShardFromZoneコマンドを参照してください。MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。
このメソッドには次のパラメーターがあります。
sh.removeShardFromZone()インスタンスに接続されている場合にのみmongosを発行します。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドは、M0 および Flex クラスターではサポートされていません。詳細については、「 サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
動作
sh.removeShardFromZone() は、ゾーンに関連付けられた範囲を削除しません。
クラスターからゾーンを完全に削除するには、ゾーンに関連付けられている各シャードでsh.removeShardFromZone()を実行する必要があります。
指定されたシャードがゾーンに関連付けられた最後のシャードである場合は、ゾーンに関連付けられている残りの範囲がないことを確認する必要があります。 sh.removeShardFromZone() を実行する前に、ゾーンに関連付けられている既存の範囲を削除するには、 updateZoneKeyRangeを使用し 。
シャーディングされたクラスター内のゾーンの詳細については、ゾーンのマニュアル ページを参照してください。
バランサー
ゾーンとシャードの間の関連付けを削除すると、シャード上のゾーンによってカバーされるチャンクを維持する制約が削除されます。 次のバランサー ラウンド中に、バランサーは以前にゾーンによってカバーされていたチャンクを移行する場合があります。
シャーディングされたクラスターで移行がどのように機能するかについて詳しくは、 シャーディングされたクラスター バランサーのマニュアル ページを参照してください。
セキュリティ
アクセス制御を強制するシャーディングされたクラスターの場合は、次のいずれかとして認証する必要があります。
次の特権を持つユーザー:
または、あるいは、
クラスター リソースで
enableShardingを含む 権限 を持つユーザー。
clusterAdminまたはclusterManagerの組み込みロールには、 sh.removeShardFromZone()を発行するための適切な権限があります。 詳細については、ロールベースのアクセス制御 のマニュアル ページを参照してください。
例
次の例では、 shard0000とNYCゾーン間の関連付けを削除します。
sh.removeShardFromZone("shard0000", "NYC")