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

相关推荐
吴声子夜歌5 小时前
MongoDB 4.2——配置分片
数据库·mongodb
吴声子夜歌6 小时前
MongoDB 4.2——分片简介
数据库·mongodb
吴声子夜歌1 天前
MongoDB 4.2——备份
数据库·mongodb
吴声子夜歌1 天前
MongoDB 4.2——选择片键
数据库·mongodb
吴声子夜歌1 天前
MongoDB 4.2——安全介绍
数据库·安全·mongodb
吴声子夜歌2 天前
MongoDB 4.2——应用程序设计
数据库·mongodb
用户094248568032 天前
第18章:Mongo复制集运维——故障切换、节点扩容与数据重同步
数据库·mongodb
吴声子夜歌2 天前
MongoDB 4.2——聚合框架
数据库·mongodb
吴声子夜歌3 天前
MongoDB 4.2——查询
数据库·mongodb
吴声子夜歌3 天前
MongoDB 4.2——索引(二)
数据库·mongodb·索引