Definición
flushRouterConfigflushRouterConfigmarca la tabla de enrutamiento almacenada en caché para un clúster fragmentado como obsoleta, lo que provoca que la próxima operación que solicite la tabla de enrutamiento actualice la caché. La gestión del caché de la tabla de enrutamiento suele ser manejada automáticamente por el clúster. Sólo deberías necesitar ejecutar el comandoflushRouterConfigmanualmente en instancias específicas, tal y como se indica en Consideraciones.
Nota
Ejecutar flushRouterConfig ya no es necesario después de ejecutar el Comandos movePrimary o dropDatabase. Estos dos comandos ahora refrescan automáticamente la tabla de enrutamiento de un clúster segmentado, según sea necesario, cuando se ejecutan.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Sintaxis
El flushRouterConfig está disponible tanto en las instancias mongos como en mongod, y tiene la siguiente sintaxis:
Vacíe la caché de una colección especificada cuando se pase en un parámetro de namespace de colección:
db.adminCommand( { flushRouterConfig: "<db.collection>" } ) Borra la caché de una base de datos específica y de todas sus colecciones cuando se pasa en un parámetro de namespace de base de datos:
db.adminCommand( { flushRouterConfig: "<db>" } ) Limpia la caché de todas las bases de datos y sus colecciones cuando se ejecuta sin un parámetro o se pasa un valor escalar no de tipo cadena (por ejemplo,
1):db.adminCommand("flushRouterConfig") db.adminCommand( { flushRouterConfig: 1 } )
Considerations
En general, la tabla de enrutamiento de un clúster particionado se refresca automáticamente según sea necesario como parte de la operación normal. Sin embargo, debes emitir manualmente el comando flushRouterConfig antes de ejecutar el comando db.collection.getShardDistribution(). Esto garantiza que el comando devuelva la información más actualizada.