mongorestore在空system.js.bson上失败

时间:2015-01-05 12:18:16

标签: mongodb dump mongorestore

我正在尝试将转储的数据库恢复到本地服务器但它失败了。

要进行转储我运行:
mongodump --host somehost.com -d app123 --port 10043 --username my_username --password my_password --out /tmp/mongodump
它工作正常。

恢复我跑:
mongorestore --db my_db --drop /tmp/mongodump/app123
它在空文件上失败:

2015-01-05T12:56:47.759+0100 /tmp/mongodump/app123/system.js.bson
2015-01-05T12:56:47.759+0100    going into namespace [my_db.system.js]
file /tmp/mongodump/app123/system.js.bson empty, skipping
2015-01-05T12:56:47.759+0100    Creating index: { key: { _id: 1 }, ns: "my_db.system.js", name: "_id_" }
2015-01-05T12:56:47.803+0100 DBClientCursor::init call() failed
assertion: 10276 DBClientBase::findN: transport error: 127.0.0.1:27017 ns: my_db.$cmd query: { getlasterror: 1 }  

如果我从转储中删除system。*,那么mongorestore可以正常工作。

1 个答案:

答案 0 :(得分:1)

我认为这与_id_索引有关。尝试删除或重命名,然后再做一次mongodump并查看是否有效。

我曾经遇到类似的问题而且它与索引有关。我不记得是否删除了索引或重命名了它。所以它可能是下划线,在这种情况下重命名它应该工作。或者索引中的某些内容已损坏,在这种情况下删除它是您唯一的选择。