我正在尝试将转储的数据库恢复到本地服务器但它失败了。
要进行转储我运行:
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可以正常工作。
答案 0 :(得分:1)
我认为这与_id_
索引有关。尝试删除或重命名,然后再做一次mongodump
并查看是否有效。
我曾经遇到类似的问题而且它与索引有关。我不记得是否删除了索引或重命名了它。所以它可能是下划线,在这种情况下重命名它应该工作。或者索引中的某些内容已损坏,在这种情况下删除它是您唯一的选择。