文档菜单
文档首页
/
MongoDB 手册
/ / /

flushRouterConfig

本页内容

  • 定义
  • 兼容性
  • 语法
  • 注意事项
flushRouterConfig

flushRouterConfig 标记分片集群缓存的路由表为过时,导致下一次请求路由表的操作刷新缓存。路由表缓存的通常由集群自动处理。您通常不需要在特定情况下手动运行 flushRouterConfig 命令,如 注意事项 下所示。

注意

执行 flushRouterConfig 命令后,不再需要运行movePrimarydropDatabase 命令。这两个命令现在在运行时将自动根据需要刷新分片集群的路由表。

该命令可在以下环境部署中访问

  • MongoDB Atlas:适用于云中MongoDB部署的全托管服务

重要

此命令不支持在无服务器实例上。有关更多信息,请参阅不支持命令。

flushRouterConfig可在mongosmongod实例上使用,其语法如下

  • 当传入集合命名空间参数时,刷新指定集合的缓存

    db.adminCommand(
    {
    flushRouterConfig: "<db.collection>"
    }
    )
  • 当传入数据库命名空间参数时,刷新指定数据库及其所有集合的缓存

    db.adminCommand(
    {
    flushRouterConfig: "<db>"
    }
    )
  • 在未传入参数或传入非字符串标量值(例如1)时,刷新所有数据库及其集合的缓存

    db.adminCommand("flushRouterConfig")
    db.adminCommand(
    {
    flushRouterConfig: 1
    }
    )

通常,分片集群的路由表在正常操作过程中会根据需要自动刷新。然而,在运行db.collection.getShardDistribution()命令之前,您应该手动发出flushRouterConfig命令。这确保了命令返回的信息是最新的。

返回

enableSharding