定義
commitReshardCollectionバージョン 5.0 で追加
commitReshardCollectionは書込みを早期にブロックし、リシャーディング操作を強制的に完了させます。リシャーディング操作中、 MongoDB はリシャーディング操作を完了するための推定期間が一定の値を下回るまで、書込みをブロックしません。 MongoDB 8.0.12 以前では、この値は 2 秒です。 MongoDB 8.0.13 以降では、この値は 500 ミリ秒です。
現在の推定期間がしきい値を超えているが、時間枠が許容できる場合は、
commitReshardCollectionを呼び出すとリシャーディングをより速く完了できます。これにより、書込みが早期にブロックされ、リシャーディング操作が強制的に完了します。Tip
mongoshでは、このコマンドはsh.commitReshardCollection()ヘルパー メソッドを通じて実行することもできます。ヘルパー メソッドは
mongoshユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
このコマンドの構文は、次のとおりです。
db.adminCommand( { commitReshardCollection: "<database>.<collection>" } )
例
リシャーディング操作のコミット
次のコマンドは、 sales.ordersにリシャーディング操作を強制し、書込みをブロックして完了します。
db.adminCommand({ commitReshardCollection: "sales.orders" })