SQL转MongoDB
在线将简单的 SQL SELECT 查询转换为对应的 MongoDB 查询命令,帮助开发者平滑过渡。
SQL 转 MongoDB
支持基本的 SELECT, WHERE(=, >, <, LIKE), AND, OR, ORDER BY, LIMIT 等语法。
SQL 转 MongoDB 工具使用指南
📌 简介
SQL 转 MongoDB 工具是一款专为正在从关系型数据库(如 MySQL、PostgreSQL)向非关系型数据库(MongoDB)迁移的开发者设计的语法转换助手。通过本工具,你可以将熟悉的 SQL SELECT 语句一键翻译成标准的 MongoDB Shell 查询命令,帮助你在架构升级时快速适应 NoSQL 的数据操作逻辑。
📖 SQL 与 MongoDB 的思维差异
SQL 是结构化查询语言,基于关系代数和表(Table)的概念。而 MongoDB 是文档数据库,数据以 BSON 文档(类似 JSON)的形式存储在集合(Collection)中。在语法层面:SQL 的 `SELECT * FROM users` 对应 `db.users.find({})`;SQL 的 WHERE 条件对应 find() 的第一个参数(查询过滤器);SQL 的 JOIN 在 MongoDB 中通常通过嵌套文档(Embedded Documents)或 `$lookup` 聚合管道来实现。本工具通过正则解析,将 SELECT、WHERE、ORDER BY、LIMIT 等常用的 SQL 关键字翻译为链式调用的 JS 代码。
💼 常见应用场景
- 技术栈迁移: 将旧系统中的 SQL 查询逐步替换为 MongoDB 调用。
- 后端开发: 熟悉 SQL 的开发者快速学习并验证 MongoDB 的查询写法。
- 教学培训: 直观对比两种数据库查询语言的异同。
- 数据排错: 需要临时在 Mongo Shell 中执行类似 SQL 的筛选逻辑。
⚙️ 使用步骤
- 在左侧输入单行的基本 SQL 查询语句(建议先做换行清理)。
- 点击“转换”按钮。
- 右侧会生成对应的 `db.collection.find()` 链式调用代码。
- 点击“复制代码”到 MongoDB Shell 或 Node.js 项目中执行。
⚠️ 注意事项
- 本工具仅支持单表的基础查询,不支持复杂的 JOIN、GROUP BY、子查询等高级 SQL 特性。
- LIKE 语法会被转换为正则表达式,带有 % 的模糊匹配会被转换为 `.*`。
- 由于 JS 对象的属性顺序,生成的 JSON 可能没有保留原来的大小写。
❓ 常见问题 (FAQ)
Q: 为什么不支持 INSERT 或 UPDATE?
A: 插入和更新在 SQL 和 Mongo 中的差异较大(Mongo 有 insertOne、updateOne 等不同方法),且经常涉及复杂的 BSON 对象构建。本工具目前专注于最常用的查询(SELECT)转换。