MongoDB Aggregation Beautifier
Beautify and indent MongoDB aggregation pipelines in your browser.
这是一款本地工具:它完全在你的浏览器中运行,你粘贴的聚合管道绝不会离开你的设备,也不会上传任何内容到 ArrayKit 或任何服务器。
打开 MongoDB 查询美化器
关于 MongoDB Aggregation Beautifier
MongoDB 聚合美化器可在你的浏览器中将杂乱的单行聚合管道格式化并缩进为整洁、可读的代码。粘贴一个 `db.collection.aggregate([...])` 调用,或一个裸的阶段数组(如 `$match`、`$group`、`$sort` 和 `$lookup`),它便会以一致的两空格缩进美化打印整个管道,让你真正读懂每个阶段在做什么。它专为调试慢速聚合的后端和数据工程师、审查拉取请求的评审者,以及任何从日志、驱动程序或 Mongo shell 中复制压缩管道的人而设计。由于一切都作为浏览器工具在本地运行,因此不涉及请求构建或上传——格式化器会在你自己的机器上解析并重排你的管道。用它来清理导出的查询、记录管道,或在对生产数据运行 aggregate 之前发现放错位置的括号。
功能特性
- 同样美化完整的 `db.collection.aggregate([...])` 调用和裸的阶段数组
- 在每个阶段和嵌套表达式中保持一致的两空格缩进
- 处理常见阶段——$match、$group、$sort、$project、$lookup、$unwind、$facet 等
- 保留 MongoDB 特有的值,如 ISODate()、ObjectId() 和运算符键
- 随着你输入实时格式化,无需运行或提交步骤
- 当括号不匹配或语法无效时给出清晰的错误消息
- 复制美化后的管道或将其下载为 .js 文件
- 完全在你的浏览器中运行——不上传任何内容
如何使用 MongoDB Aggregation Beautifier
- 将你的聚合管道或完整的 aggregate() 调用粘贴到输入框中
- 阅读输出面板中出现的美化、缩进后的管道
- 如果括号或语法看起来有误,请修复任何报告的错误
- 复制格式化后的结果或将其下载为 pipeline.js
示例
输入
db.orders.aggregate([{$match:{status:"paid"}},{$group:{_id:"$userId",total:{$sum:"$amount"}}},{$sort:{total:-1}}])
输出
db.orders.aggregate([
{
$match: {
status: "paid"
}
},
{
$group: {
_id: "$userId",
total: {
$sum: "$amount"
}
}
},
{
$sort: {
total: -1
}
}
])
一个紧凑的单行管道被重排为可读、缩进的阶段。
常见错误与故障排除
- 无法格式化——报告括号不匹配。 — 检查每个 [、{ 和 ( 都有匹配的闭合符;一个遗漏的括号就会破坏整个管道的解析。
- 只粘贴了管道的一部分,导致语法错误。 — 复制完整的 aggregate([...]) 调用或整个阶段数组,包括外层括号。
- 来自代码编辑器的多余逗号导致解析失败。 — 在格式化前,移除最后一个阶段或对象中最后一个字段后的任何多余逗号。
- 来自文档的智能引号破坏了输入。 — 将弯引号替换为直引号 " 或 ',使字符串值能正确解析。
常见问题
- 什么是 MongoDB 聚合美化器?
- 它是一款浏览器工具,可将压缩或单行的 MongoDB 聚合管道重新格式化为带有整洁缩进的形式,使每个阶段和表达式都易于阅读和审查。
- 它适用于完整的 aggregate() 调用还是只适用于阶段数组?
- 两者皆可。你可以粘贴完整的 db.collection.aggregate([...]) 语句,也可以只粘贴裸的管道阶段数组——美化器都能格式化。
- 它会针对数据库运行或执行我的聚合吗?
- 不会。它只格式化你管道的文本。它不会连接 MongoDB、运行聚合或返回任何查询结果。
- 我的管道会被上传到任何地方吗?
- 不会。这是一款完全在你浏览器中运行的本地工具,因此你粘贴的管道绝不会离开你的设备,也不会上传任何内容到 ArrayKit 或任何服务器。
- 粘贴包含敏感字段名或值的管道安全吗?
- 是的。由于所有解析和格式化都在你的机器本地进行,敏感的集合、字段和值细节都保留在你的设备上。
- 这与 MongoDB 查询美化器有何不同?
- 查询美化器针对 find() 和 shell 风格的查询,而这款工具针对聚合管道进行了优化——即 $match、$group 和 $sort 等阶段的数组。
相关工具
全部 ArrayKit 工具