【问题标题】:MongoDB db.dropDatabase() dropping all but one collectionMongoDB db.dropDatabase() 删除除一个集合之外的所有集合
【发布时间】:2013-05-31 23:38:37
【问题描述】:

我的状态为 { "dropped" : "FLIS", "ok", 1 },但随后我运行 "show collections" 并看到一个集合保留在数据库中,它包含之前的所有记录掉落。

这太令人沮丧了。我需要从暂存数据库复制新数据,但获取数据的唯一方法是使用 copyDatabase。如果我运行副本,它将复制我剩余集合中的记录。由于 MongoDB 中没有隐式重命名功能(还),我被我的主数据库和一个我无法删除的集合困住了

我还尝试使用 db.collection.drop() 单独删除集合。我得到了一个“真实”的回复,但它在完全填充之后仍然存在。

帮助!谢谢!

【问题讨论】:

  • 这很奇怪.. 您可以选择从存储目录中删除这些 db 文件。确保您也删除了 .ns 文件(即所有 .* 文件)
  • 这是什么版本的mongoDB?什么版本的外壳? (您可以在 shell 中执行此操作:> db.version() 和 > version() 首先是服务器,其次是 shell 版本。您可以剪切并粘贴您的实际 shell 会话,显示 drop 然后再次存在 db/collection ? 不会消失的系列叫什么名字?
  • 顺便说一句,“没有隐式重命名”是什么意思 - 有显式重命名:docs.mongodb.org/manual/reference/command/renameCollection

标签: mongodb database


【解决方案1】:

感谢 cmets 伙计们。我在 10 分钟内再次尝试,一切正常。奇怪的。 @asya-kamsky 我使用 2.4.3 作为 db.version() 的输出。另外,我的意思是没有隐式重命名数据库(不复制)......但是我没有尝试只是重命名集合。希望我不必再解决这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 2011-10-28
    • 1970-01-01
    相关资源
    最近更新 更多