SQL 到 MongoDB 的映射表
除下面的图表外,您可能还需要查看常见问题部分,了解有关 MongoDB 的一系列常见问题。
术语和概念
下表列出各种 SQL 术语和概念以及相应的 MongoDB 术语和概念。
SQL 术语/概念 | MongoDB 术语/概念 |
---|---|
database | |
数据表(table) | |
行 | |
列 | |
索引(index) | |
表连接 | $lookup ,嵌入式文档 |
主键 指定任何唯一列或列组合作为主键。 | |
聚合(例如分组依据) | 聚合管道 请参阅 SQL 聚合映射图表。 |
SELECT INTO NEW_TABLE | 请参阅 SQL 聚合映射图表。 |
MERGE INTO TABLE | 请参阅 SQL 聚合映射图表。 |
UNION ALL | |
事务 | 在许多场景中,非规范化数据模型(嵌入式文档和数组),而不是多文档事务,将继续是数据和使用案例的最佳选择。换言之,对于许多场景,适当地建模数据将最大限度地减少对多文档事务的需求。 |
可执行程序
下表显示了一些数据库可执行文件和相应的 MongoDB 可执行文件。此表并非详尽。
示例
下表列出了各种 SQL 语句和相应的 MongoDB 语句。该表中的示例假定以下条件:
这些 SQL 示例假设有一个名为
people
的表。MongoDB 示例假设一个名为
people
的集合包含以下原型的文档:{ _id: ObjectId("509a8fb2f3f4948bd2f983a0"), user_id: "abc123", age: 55, status: 'A' }
创建和更改
下表列出了与表级动作相关的各种 SQL 语句以及对应的 MongoDB 语句。
SQL 模式语句 | MongoDB 模式语句 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 在第一个
不过,您也可以显式创建集合:
| ||||||||||||||
| 集合并不描述或强制执行其文档的结构;也就是说,集合层面上不会有结构变化。 不过,在文档级别,
| ||||||||||||||
| 集合并不描述或强制执行其文档的结构;也就是说,集合层面上不会有结构变化。 不过,在文档级别,
| ||||||||||||||
|
| ||||||||||||||
|
| ||||||||||||||
|
|
有关所使用的方法和操作符的更多信息,请参阅:
Insert
下表列出与向表中插入记录相关的各种 SQL 语句以及相应的 MongoDB 语句。
SQL 插入语句 | MongoDB insertOne () 语句 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
|
有关更多信息,请参阅 db.collection.insertOne()
。
选择
下表列出与从表中读取记录相关的各种 SQL 语句以及相应的 MongoDB 语句。
SQL SELECT 语句 | MongoDB find () 语句 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
-或-
| ||||||||
|
-或-
| ||||||||
|
| ||||||||
|
| ||||||||
|
or
| ||||||||
|
or
| ||||||||
|
or
| ||||||||
|
或者,对于不超过 BSON 大小限制的非重复值集
| ||||||||
|
or
| ||||||||
|
| ||||||||
|
|
有关所使用的方法和操作符的更多信息,请参阅
更新记录
下表列出与更新表中现有记录相关的各种 SQL 语句以及相应的 MongoDB 语句。
SQL 更新语句 | MongoDB updateMany() 语句 | |||||||
---|---|---|---|---|---|---|---|---|
|
| |||||||
|
|
有关示例中使用的方法和操作符的更多信息,请参阅:
删除记录
下表列出与从表中删除记录相关的各种 SQL 语句以及相应的 MongoDB 语句。
SQL 删除语句 | MongoDB deleteMany () 语句 | |||
---|---|---|---|---|
|
| |||
|
|
有关更多信息,请参阅 db.collection.deleteMany()
。
深入阅读
如果您正在考虑将您的 SQL 应用程序迁移到 MongoDB,请下载 MongoDB 应用程序现代化指南。
下载内容包括以下资源:
介绍使用 MongoDB 进行数据建模的方法
白皮书介绍了从 RDBMS 数据模型迁移到 MongoDB 的最佳实践和注意事项
引用 MongoDB 模式及其 RDBMS 等效模式
应用程序现代化记分卡