创建一个与已删除数据库同名的新数据库后,无法从新数据库中读取到最新数据,或无法将数据写入新数据库。
分片集群类型的 MongoDB 实例。
使用 dropDatabase
命令删除目标数据库后,没有在读取或写入数据前执行 flushRouterConfig
命令,导致分片集群实例中的节点可能并没有刷新元数据缓存。
您可以参考如下建议规避上述问题:
flushRouterConfig
命令后再执行读写操作,以确保分片集群中的所有节点都已刷新了元数据缓存。MongoDB 数据库完整删除操作步骤,请参见 db.dropDatabase()。sh.enableSharding
命令开启分片集群实例数据库的分片功能,并通过 sh.shardCollection
命令将未分片的集合转为分片集合。