【发布时间】:2013-03-24 07:33:30
【问题描述】:
我的 Mongo 数据库几乎没有自定义名称的索引,因为它们中的字段太多,无法自动生成名称而不会因“ns name too long”错误而失败。
当我尝试使用 mongorestore 从备份中恢复此数据库时,它失败并出现此错误(“ns 名称太长,最大大小为 128”)。似乎 mongorestore 试图根据它们的内容生成索引名称,而不是仅仅恢复数据库中实际使用的任何名称。
到目前为止,我想出的唯一解决方案是将 mongorestore 与 --noIndexRestore 一起使用,然后手动重新创建所有索引,但这显然是一种糟糕的方法。有没有更好的方法来解决这个问题?
我在使用 MongoDB 2.4.1 时遇到了这个问题。
谢谢。
【问题讨论】:
-
您是否考虑在 MongoDB Bugtracker 上提交有关此问题的票?根据文档 (docs.mongodb.org/manual/reference/mongorestore) 中的描述,我认为这是一个错误。如果您使用 mongodump 创建了转储,我希望 mongorestore 应该能够再次恢复确切的状态。
-
我也遇到了同样的问题,还评论了票。
-
有这个问题的人可以将我们的输出粘贴到 jira 票证或 gist 中吗?我尝试在 2.0、2.2 和 2.4 中重现它并转储和恢复工作对我来说很好
标签: mongodb mongorestore