コレクションの移動の停止
シャーディングされていないコレクションの移動を停止するには、 abortMoveCollection
コマンドを使用します。
このタスクについて
進行中のmoveCollection
操作を停止するには、 admin
データベースでabortMoveCollection
コマンドを実行します。
アクセス制御
デプロイメントでアクセス制御が有効になっている場合、 enableSharding
ロールはabortMoveCollection
コマンドを実行できます。
手順
1
コレクションの移動を停止します
コレクションの移動を停止するには、 abortMoveCollection
コマンドを実行します。 次の例では、 app.inventory
コレクションのshard01
からshard02
への進行中の移動を停止します。
db.adminCommand( { abortMoveCollection: "app.inventory" } )
abortMoveCollection
コマンドを実行すると、コマンド出力はok: 1
を返し、次のようになります。
{ ok: 1, '$clusterTime': { clusterTime: Timestamp( { t: 1726524884, i: 28 } ), signature: { hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0), keyId: Long('0') } }, operationTime: Timestamp({ t: 1726524884, i: 28 }) }
2
移動操作が停止したことを確認する
コレクションが新しいシャードに移動されていないことを確認するには、 $collStats
パイプラインステージを使用します。
次の例は、 app.inventory
コレクションが同じシャード上に残っていることを確認する方法を示しています。
db.inventory.aggregate( [ { $collStats: {} }, { $project: { "shard": 1 } } ] )
このパイプラインステージには、次のような出力があります。
[ { shard: 'shard01' } ]