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

如何从gzip压缩的MongoDB归档备份中恢复指定集合?

解决MongoDB归档备份中仅恢复指定集合的问题

针对你用mongodump创建的归档压缩备份,以下是两种场景下的有效恢复命令,以及关键排查点:

1. 仅恢复指定集合到原数据库

确保--nsInclude使用完整命名空间格式(数据库名.集合名),配合--gzip和--archive参数:

mongorestore -h <host> -u <user> --password=<password> --authenticationDatabase <db_name> --gzip --archive=<backup_name>.gz --nsInclude="<db_name>.<collection_name>"
  • 若需覆盖原集合已有数据,添加--drop参数
  • 命名空间需严格匹配备份中的实际名称(注意大小写,MongoDB在区分大小写的文件系统上对库名、集合名大小写敏感)

2. 恢复指定集合到新数据库

结合--nsFrom和--nsTo替换命名空间,同时用--nsInclude过滤目标集合:

mongorestore -h <host> -u <user> --password=<password> --authenticationDatabase <new_db_name> --gzip --archive=<backup_name>.gz --nsInclude="<db_name>.<collection_name>" --nsFrom="<db_name>.<collection_name>" --nsTo="<new_db_name>.<new_collection_name>"
  • 若新集合名与原集合名一致,--nsTo可简写为<new_db_name>.<collection_name>
  • 确保执行用户拥有创建新数据库的权限,或提前创建好目标数据库

关键排查点

  • 保持工具版本一致:mongorestore与mongodump版本不兼容可能导致参数解析异常
  • 检查参数顺序:避免将--archive等核心参数放在过滤参数之后,部分MongoDB版本对参数顺序敏感
  • 验证备份内容:可通过mongodump --archive=<backup_name>.gz --gzip --list命令查看备份中的所有集合,确认目标集合存在

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 19:22:37