MongoDB 查询美化工具
在浏览器中美化并缩进 MongoDB 查询和 find() 语句。
此工具完全在你的浏览器中运行。你粘贴的 MongoDB 查询绝不会离开你的设备,也不会上传任何内容到 ArrayKit。
美化一个聚合管道
关于 MongoDB 查询美化工具
这款 MongoDB 查询美化器将密集的单行 MongoDB shell 查询转换为可读、缩进恰当的代码。粘贴一个挤在一起的 db.collection.find() 调用、一个裸的过滤对象,或一个带有 sort、limit 和投影的链式语句,它便会以一致的间距和整洁的换行美化打印结果。它专为从应用日志、Compass 或聊天记录中复制查询、需要快速阅读、调试或分享它们的后端开发者、数据库工程师和 QA 测试者而设计。请求完全在你的浏览器中使用 Prettier 构建和格式化,因此无需设置,也无需等待服务器往返。$gte、$in 和 $regex 等运算符会被原样保留,格式化后的输出会随着你粘贴或编辑而实时更新。完成后,复制结果或将其下载为 .js 文件。
功能特性
- 美化 db.collection.find() 和其他链式 shell 语句
- 缩进裸的过滤对象和数组,而不仅是完整查询
- 原样保留 $gte、$in、$regex 和 $or 等运算符
- 保持 sort()、limit() 和投影等链式方法可读
- 使用 Prettier 美化打印,确保间距和引号一致
- 随着你输入或粘贴实时格式化——无需运行按钮
- 复制美化后的查询或将其下载为 query.js
- 完全在你的浏览器中运行,不上传任何内容
如何使用 MongoDB 查询美化工具
- 将你的 MongoDB 查询或 find() 语句粘贴到输入框中。
- 在输出面板中阅读实时更新的美化、缩进后的查询。
- 修复任何报告的语法错误,例如括号不匹配。
- 复制结果,或使用下载将其保存为 query.js。
示例
输入
db.users.find({status:"active",age:{$gte:18}},{name:1,_id:0}).sort({createdAt:-1}).limit(20)
输出
db.users
.find({ status: "active", age: { $gte: 18 } }, { name: 1, _id: 0 })
.sort({ createdAt: -1 })
.limit(20);
一个挤在一起的 find() 调用被缩进为可读的 shell 代码。
常见错误与故障排除
- 无法格式化——括号或圆括号不匹配。 — 检查每个 {、[ 和 ( 都有匹配的闭合符;请粘贴完整的语句,而非截断的片段。
- 多余的逗号或缺失的逗号破坏了解析。 — 移除多余的逗号或在字段之间补上缺失的逗号,然后查询会自动重新格式化。
- 粘贴的是聚合管道而非查询。 — 对于 db.collection.aggregate([...]) 管道,请使用 MongoDB 聚合美化器。
- 带有特殊字符的未加引号的键无法格式化。 — 为包含点或连字符的键加上双引号,例如 "address.city"。
常见问题
- 什么是 MongoDB 查询美化器?
- 它是一款工具,可将紧凑、难读的 MongoDB shell 查询重新格式化为带有恰当缩进、间距和换行的形式,让你能够阅读和调试它。这款工具处理 db.collection.find() 调用、过滤对象,以及 sort 和 limit 等链式方法。
- 它会改变我的查询行为吗?
- 不会。它只改变空白、缩进和引号风格。字段、运算符和值保持完全不变,因此美化后的查询与原始查询行为一致。
- 它也能美化聚合管道吗?
- 这款工具针对 find() 查询和过滤对象进行了优化。对于带有 $match 和 $group 等阶段的 db.collection.aggregate([...]) 管道,请使用 MongoDB 聚合美化器。
- 在这里粘贴我的查询数据私密且安全吗?
- 是的。美化器完全在你的浏览器中使用 Prettier 运行。你粘贴的查询绝不会离开你的设备,也不会上传任何内容到 ArrayKit,因此格式化包含敏感字段名或值的查询是安全的。
- 它使用什么缩进?
- 输出使用 2 个空格缩进,并保持运算符间距一致,从而获得整洁、可预测、易于阅读和对比的格式。
- 为什么它提示无法格式化我的查询?
- 这通常意味着输入存在语法问题,例如括号不匹配、多余的逗号或截断的复制。请粘贴完整的语句并修复任何不匹配的括号,它便会自动重新格式化。
相关工具
全部 ArrayKit 工具