You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB 6.0用mongorestore恢复遇错误,如何跳过或解决?

解决mongorestore恢复时bson.raw类型转换失败的问题

跳过错误继续恢复

用--stopOnError=false参数关闭错误中断机制,mongorestore会跳过损坏的文档继续完成剩余数据的恢复。注意这种方式会丢失出错的那部分数据,恢复完成后需要检查fs.chunks集合的数据完整性。
执行命令示例:

mongorestore --stopOnError=false <你的其他恢复参数>

修复损坏的bson文件

如果fs.chunks.bson文件本身存在损坏,可通过bsondump工具导出为JSON后手动清理错误条目:

  1. 将bson文件导出为JSON格式:
bsondump --outFile fs_chunks.json fs.chunks.bson

导出过程中会提示损坏文档的位置,找到后删除JSON文件中对应的错误条目。
2. 将修复后的JSON文件导入数据库:

mongoimport --db <目标库名> --collection fs.chunks --file fs_chunks.json

验证备份完整性

确认备份是通过mongodump完整生成的,不存在备份中途中断、存储介质损坏等情况。如果备份本身存在问题,重新从源数据库生成可靠备份后再尝试恢复。

针对GridFS集合的特殊处理

报错的fs.chunks是GridFS的块集合,可根据实际需求选择以下方式:

  • 跳过该集合,单独恢复其他数据:使用--excludeCollection=fs.chunks参数,命令示例:
mongorestore --excludeCollection=fs.chunks <你的其他恢复参数>
  • 重新迁移GridFS数据:从源数据库单独导出GridFS的文件集合和块集合,再导入到目标数据库中。

内容的提问来源于stack exchange,提问作者Astem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 12:55:59