如何从MongoDB中仅导出列名及查看数据库元数据
方法1:通过MongoDB Compass直接获取列名(无需写脚本)
你使用的4.2版本Compass可以直接按以下步骤操作,全程可视化不需要写代码:
- 打开对应数据库,点击进入目标集合详情页
- 切换到
Schema标签页,等待Compass自动扫描集合内的所有文档字段(即你说的列名) - 点击右上角的
Export按钮,选择导出格式为CSV或JSON,此时导出的内容就是当前集合的字段名、字段类型等元数据,不会包含实际业务数据 - 如果需要导出所有集合的元数据,重复上述操作逐个集合导出即可
方法2:通过Mongo Shell简单命令批量获取(复制即可用,无需懂脚本逻辑)
如果需要一次性导出所有集合的字段名,只需要打开Mongo Shell后按顺序执行以下内容即可:
- 切换到你的目标数据库
use 替换为你的数据库名称 - 复制粘贴以下命令执行,终端会直接打印所有集合的字段列表:
db.getCollectionNames().forEach(function(collName) { var allKeys = {}; db[collName].find().forEach(function(doc) { Object.keys(doc).forEach(function(key) { allKeys[key] = 1; }); }); print("集合名:" + collName + ",字段列表:" + Object.keys(allKeys).join(",")); })
- 直接复制终端输出的内容保存到本地文件,就完成了批量导出
其他常见元数据查看方法
- 查看数据库下所有集合名:在Compass左侧边栏可直接查看,或在Mongo Shell执行
db.getCollectionNames() - 查看集合数据量、存储空间占用:进入集合后切换到
Overview标签页即可查看,或在Mongo Shell执行db.替换为集合名.stats() - 查看集合的索引信息:进入集合后切换到
Indexes标签页即可查看,或在Mongo Shell执行db.替换为集合名.getIndexes()
内容的提问来源于stack exchange,提问作者Kurt
相关产品推荐
相关产品推荐

