MongoDB shell插入数据后如何查找/data/db下或导出Collections对应Documents的JSON文件
MongoDB数据存储问题及JSON导出方案
为什么无法在/data/db目录找到JSON文件
MongoDB底层采用BSON(二进制JSON)格式存储数据,不会直接生成明文JSON文件。/data/db作为默认数据目录,存储的是编码压缩后的二进制数据、索引、事务日志等专有格式文件,没有可直接读取的独立JSON文件对应集合与文档,你在该目录下查找JSON的思路本身是错误的。
导出已有文档为JSON文件的方法
MongoDB官方自带mongoexport工具可以直接将集合数据导出为标准JSON格式,操作步骤如下:
- 先确认工具可正常调用,终端执行
mongoexport --version,输出版本信息即可正常使用 - 无权限验证的数据库导出单集合命令模板:
mongoexport --db <你的数据库名> --collection <你的集合名> --out <导出文件存储路径/文件名.json>
示例:如果你的作业数据库名为course_db,集合名为user_data,要导出到当前目录的user_data.json,执行命令:
mongoexport --db course_db --collection user_data --out ./user_data.json
- 若数据库开启了身份验证,需要补充账号密码参数:
mongoexport --db <你的数据库名> --collection <你的集合名> --username <账号> --password <密码> --authenticationDatabase admin --out <导出文件存储路径/文件名.json>
- 导出完成后生成的JSON文件即可直接作为作业脚本提交。
补充说明
- MongoDB 6.0+版本默认将原生shell更换为
mongosh,但mongoexport命令逻辑完全不变,可正常使用 - 如需按条件导出部分文档,可增加
--query参数筛选,例如只导出年龄大于20的用户数据:--query '{"age": {"$gt": 20}}'
内容的提问来源于stack exchange,提问作者Hub Git
相关产品推荐
相关产品推荐

