首页 > 解决方案 > 删除数据库和创建同名数据库问题

问题描述

我正在使用 nodejs、Mongoose 和 mongodb 数据库。

有时我已经看到,如果我删除了一个包含一些集合的数据库,当我运行在数据库中创建一些集合(具有相同名称)的节点时,我想要保存为新实体的信息不会正确显示。

我还需要提到,当我将数据库放入 mongo db shell 时,我还手动删除了 c:/data/db (默认 mongo db 文件夹)中的所有 catch 文件。

我检查了 mongo 文档,如果您创建一个与已删除数据库同名的数据库,有时可能会出现问题。位于https://docs.mongodb.com/manual/reference/method/db.dropDatabase/#db.dropDatabase

标签: node.jsmongodbmongoosedrop-database

解决方案


你是在自问自答。您链接的文档描述了解决方案:

警告:如果删除数据库并创建具有相同名称的新数据库,则必须重新启动所有 mongos 实例,或在读取或写入该数据库之前对所有 mongos 实例使用 flushRouterConfig 命令。此操作可确保 mongos 实例刷新其元数据缓存,包括新数据库的主分片的位置。否则,mongos 可能会丢失读取数据并将数据写入错误的分片。


推荐阅读