0

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

为了使我运行转储:
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 可以正常工作。

4

1 回答 1

1

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

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

于 2015-01-05T17:46:46.837 回答