基本方法
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 文档。