Definición
flushRouterConfigflushRouterConfigmarca la tabla de enrutamiento en caché de un clúster fragmentado como obsoleta, lo que provoca que la siguiente operación que solicite la tabla de enrutamiento actualice la caché. La gestión de la caché de la tabla de enrutamiento generalmente la realiza el clúster automáticamente. Solo debería ser necesario ejecutar elflushRouterConfigcomando manualmente en casos específicos, como se indica en la sección "Consideraciones".
Nota
Ya no es necesario ejecutar después de ejecutar flushRouterConfig 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:
Vaciar la memoria caché de una colección específica cuando se pasa en un parámetro de espacio de nombres 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.