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

如何让MongoDB查询直接返回标准JSON格式结果?

让MongoDB返回标准JSON的解决方案

以下几种方法都能让MongoDB查询返回规范的标准JSON,且支持递归处理深度嵌套的文档:

1. 启动mongosh时指定--json参数

直接以JSON输出模式启动客户端,所有查询结果都会自动转换为标准JSON,BSON特殊类型(如ISODate)会被转为对应的JSON格式:

mongosh --json

进入会话后执行查询:

db.mycollection.find({"something": true})

返回结果示例:

{
  "someDate": "2022-10-24T17:21:44.980Z",
  "something": true,
  "hello": "world"
}

2. 在会话中使用toJSON()方法

如果已经处于mongosh会话内,可通过toJSON()函数递归转换查询结果为标准JSON:

  • 逐文档输出:
db.mycollection.find({"something": true}).forEach(doc => print(toJSON(doc)))
  • 输出整个结果数组的JSON:
print(toJSON(db.mycollection.find({"something": true}).toArray()))

toJSON()会自动处理所有嵌套层级的BSON类型,无需额外配置。

3. 使用mongoexport工具批量导出

若需要批量导出数据为标准JSON文件,mongoexport是最优选择,它默认输出标准JSON并递归处理嵌套结构:

mongoexport --db your_database_name --collection mycollection --query '{"something": true}' --out result.json

导出的文件中所有BSON特殊类型都会被转换为符合JSON规范的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 08:05:13