MongoDB BSON 展开对象

基本方法

1. 使用 printjson 函数

默认情况下会自动对 JSON 对象进行一定程度的格式化和展开

javascript 复制代码
// 基本使用
printjson(myObject);

2. 调整 DBQuery.shellBatchSize

javascript 复制代码
// 增加显示的文档数量
DBQuery.shellBatchSize = 100;  // 默认为20

完全展开嵌套对象

1. 使用 JSON.stringify 自定义格式化

javascript 复制代码
// 完全展开所有嵌套对象,使用2个空格缩进
print(JSON.stringify(myObject, null, 2));

2. 使用自定义函数展开特定深度

javascript 复制代码
function expandJson(obj, depth) {
  return JSON.stringify(obj, null, depth || 2);
}

// 使用
print(expandJson(myObject, 4));  // 使用4个空格缩进

3. MongoDB 5.0+ 中的 pretty() 方法

javascript 复制代码
// 对查询结果进行格式化
db.collection.find().pretty();

在 mongosh 中控制输出格式

如果你使用的是新版 MongoDB Shell (mongosh),它提供了更多控制输出格式的选项:

javascript 复制代码
// 设置输出格式
config.set("displayMode", "expanded");  // 完全展开
config.set("displayMode", "compact");   // 紧凑模式

注意事项

  • 对于非常大的文档,完全展开可能会导致输出非常长,可能难以在控制台阅读
  • 使用 JSON.stringify 可能会丢失 MongoDB 特定类型信息(如 ObjectId)

希望这些方法能帮助你有效地展开和查看 MongoDB 中的 JSON 文档。

相关推荐
Wang's Blog14 小时前
Java 项目实战: 交友项目 - MongoDB 入门:体系结构和命令行操作
java·mongodb·交友
Elastic 中国社区官方博客15 小时前
告别繁琐控制台:Kabanos 如何将 MongoDB Compass 的易用性带入 Elasticsearch
大数据·数据库·mongodb·elasticsearch·搜索引擎·全文检索
guo_wen_qiang1 天前
使用spring-data-mongodb操作mongo记录
数据库·mongodb
星轨zb2 天前
[专题5]支付发放物品的一致性保障:事务、幂等与状态流转
数据库·后端·mongodb·支付架构学习
guo_wen_qiang6 天前
云服务器安装MongoDB-资源包安装
运维·服务器·mongodb
达梦数据7 天前
DMDDB如何兼容 MongoDB
数据库·mongodb
深蓝电商API7 天前
亿级数据的存储选型:MongoDB/ES/ClickHouse横评
爬虫·clickhouse·mongodb·elasticsearch
无敌贵点大王8 天前
嵌入式软件面试经(自用)
c语言·stm32·单片机·学习·mongodb·面试·职场和发展
安妮细水长流8 天前
【无标题】
数据库·mongodb
ly76899 天前
MongoDB 读写策略与一致性取舍:readConcern、readPreference 与 causal session
数据库·mongodb·writeconcern·readconcern·readpreference·因果一致性