定義
- flushRouterConfig
- flushRouterConfigはシャーディングされたクラスターのキャッシュされたルーティング テーブルを古いとしてマークし、ルーティング テーブルをリクエストする次の操作でキャッシュを更新します。 ルーティング テーブル キャッシュの管理は通常、クラスターによって自動的に処理されます。 「 考慮事項 」で示されているように、特定のインスタンスで- flushRouterConfigコマンドを手動で実行する必要があるだけです。
注意
flushRouterConfigmovePrimaryまたはdropDatabase コマンドを実行した後、 の実行は必要なくなりました。これら 2 つのコマンドは、実行時に必要に応じてシャーディングされたクラスターのルーティング テーブルを自動的に更新するようになりました。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです 
- MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン 
- MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン 
構文
flushRouterConfigはmongos } インスタンスとmongodインスタンスの両方で使用でき、次の構文をとります。
- コレクション名前空間パラメーターで渡される場合、指定されたコレクションのキャッシュをフラッシュします。 - db.adminCommand( - { - flushRouterConfig: "<db.collection>" - } - ) 
- データベース名前空間パラメーターで渡されると、指定されたデータベースとそのコレクションすべてのキャッシュをフラッシュします。 - db.adminCommand( - { - flushRouterConfig: "<db>" - } - ) 
- パラメータなしで実行されるか、string 以外のスカラー値(例: - 1):- db.adminCommand("flushRouterConfig") - db.adminCommand( - { - flushRouterConfig: 1 - } - ) 
Considerations
通常、シャーディングされたクラスターのルーティング テーブルは、通常の操作の一環として必要に応じて自動的に更新されます。 ただし、 コマンドを実行する前に、flushRouterConfig db.collection.getShardDistribution()コマンドを手動で発行する必要があります。これにより、 コマンドは最新情報を返すようになります。