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 文档。

相关推荐
身如柳絮随风扬11 小时前
Docker 部署 MongoDB:从零搭建到生产环境配置详解
mongodb·docker·容器
sdk大全2 天前
Studio 3T for MongoDB 2025.13.0
数据库·mongodb
码农阿豪2 天前
平替MongoDB:金仓多模数据库助力电子证照国产化实践
数据库·mongodb
易辰君2 天前
【数据库】MongoDB深度解析与Python操作指南:从安装到实战操作全覆盖
数据库·mongodb
三易串口屏3 天前
实验1 实时显示单片机的参数(整数、小数、中文 系统指令方式)
c语言·单片机·嵌入式硬件·mongodb·串口屏·三易串口屏
三易串口屏4 天前
实验2 实时显示单片机的参数(整数、小数、中文 自定义协议方式)
单片机·物联网·mongodb·自动化·串口屏·医疗器械·工控设备
liudanzhengxi5 天前
巧用ULN2003A轻松扩展单片机IO口
数据库·mongodb
追梦开发者7 天前
MongoDB 踩坑实录③:写操作、事务、聚合,踩一个就是线上事故
数据库·mongodb
lolo大魔王7 天前
MongoDB 索引机制详解:单字段索引、复合索引、唯一索引与性能优化
数据库·mongodb
Java识堂8 天前
MongoDB架构详解
数据库·mongodb·架构