使用mongodump备份MongoDB时,如何仅备份集合结构而非数据?
仅用mongodump备份MongoDB集合结构(不含数据)
完全可以用mongodump实现只备份集合结构、不包含数据的需求,核心是通过指定一个永远匹配不到任何文档的查询条件,让mongodump只导出集合的元数据(包括索引、验证规则、集合配置等),而不导出实际数据。
具体命令示例
- 备份单个数据库的所有集合结构:
mongodump --db your_db_name --query '{"_id": {"$exists": false}}' --out ./schema_backup
- 备份单个指定集合的结构:
mongodump --db your_db_name --collection your_coll_name --query '{"_id": {"$exists": false}}' --out ./schema_backup
关键说明
执行上述命令后,导出的备份目录中,每个集合对应的.bson文件是空的(因为没有匹配到任何数据),但.metadata.json文件会完整保留集合的结构信息。后续用mongorestore恢复时,就能基于这些元数据重建出和原集合一致的结构,包括索引、验证规则等配置。
这个方法适用于MongoDB 3.2及以上的所有版本,无需额外工具。
内容的提问来源于stack exchange,提问作者han
相关产品推荐
相关产品推荐

