从MongoDB Atlas备份恢复至AWS DocumentDB遇文件跳过错误如何解决
解决MongoDB Atlas备份恢复到AWS DocumentDB时的元数据文件跳过问题
这个错误是因为MongoDB Atlas导出的备份包里自带了它专属的元数据文件(比如.metadata.json.gz),这类文件只用于Atlas内部记录备份的相关信息,不包含业务数据。而AWS DocumentDB使用的mongorestore工具不识别这类文件,所以会提示“skipping”,但本质上这个提示不影响核心数据的恢复。如果想消除提示或者让恢复流程更顺畅,可以用下面几种方法处理:
方法1:恢复时直接排除元数据文件
用mongorestore的--excludeCollection参数指定跳过所有元数据相关文件,执行命令时加上这个参数即可:
mongorestore --uri "mongodb://<你的用户名>:<你的密码>@<DocumentDB端点>:27017/" --db livedb /root/livedb --excludeCollection "*.metadata.json"
这样工具会自动忽略所有带.metadata.json后缀的文件,不会再弹出跳过提示。
方法2:提前清理备份目录里的元数据文件
直接删除备份目录中所有的.metadata.json.gz文件,用命令批量处理更高效:
rm /root/livedb/*.metadata.json.gz
清理完成后再正常运行mongorestore恢复命令即可。
方法3:验证恢复完整性
不管用哪种方法,恢复完成后都建议检查数据是否完整:
- 登录DocumentDB,用
show collections确认集合数量和原Atlas一致 - 针对关键集合,用
db.<集合名>.countDocuments()对比文档数量 - 检查索引是否正常创建(可以用
db.<集合名>.getIndexes()查看)
内容的提问来源于stack exchange,提问作者Krishnakumar
相关产品推荐
相关产品推荐

