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 movePrimary dropDatabase Comandos o. Estos dos comandos ahora actualizan automáticamente la tabla de enrutamiento de un clúster fragmentado según sea necesario al ejecutarse.
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 está flushRouterConfig mongos mongod disponible en las instancias y 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>" } ) Limpiar la memoria caché de una base de datos específica y todas sus colecciones cuando se pasa en un parámetro de espacio de nombres de base de datos:
db.adminCommand( { flushRouterConfig: "<db>" } ) Limpiar la memoria caché de todas las bases de datos y sus colecciones cuando se ejecuta sin un parámetro o se pasa un valor escalar que no sea una cadena (por ejemplo,
1):db.adminCommand("flushRouterConfig") db.adminCommand( { flushRouterConfig: 1 } )
Considerations
Generalmente, la tabla de enrutamiento de un clúster fragmentado se actualiza automáticamente según sea necesario como parte del funcionamiento normal. Sin embargo, debe ejecutar manualmente el comando antes flushRouterConfig db.collection.getShardDistribution() de ejecutar el comando. Esto garantiza que el comando devuelva la información más actualizada.