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

相关推荐
刘晨鑫13 天前
MongoDB数据库应用
数据库·mongodb
爬山算法4 天前
MongoDB(92)什么是变更流(Change Streams)?
数据库·mongodb
小冯不疯4 天前
旺店通与金蝶云星空入库单管理对接方案
mongodb
MongoDB 数据平台4 天前
为编码代理引入 MongoDB 代理技能和插件
数据库·mongodb
忍冬行者4 天前
MongoDB 三节点副本集离线部署运维手册
运维·数据库·mongodb
卢傢蕊5 天前
MongoDB
数据库·mongodb
翻斗包菜6 天前
【MongoDB 从入门到实战:安装、配置、CRUD、权限、备份恢复全教程】
数据库·mongodb
leo__5206 天前
51单片机实现读写U盘
嵌入式硬件·mongodb·51单片机
为什么要做囚徒6 天前
MongoDB 设置开机自启
数据库·mongodb
炸炸鱼.6 天前
MongoDB 数据库应用完整手册
数据库·mongodb