翻译原文:MongoDB 官方文档:SQL to MongoDB Mapping Chart
前言
很多开发者首次接触数据库(通常是在高校课堂)的概念,或者说接触第一个数据库,通常是 SQL 数据库,而现在,NoSQL 数据库后来居上,很多原 SQL 数据的使用者难免有转向 NoSQL 的需求。而作为 NoSQL 数据库的代表,MongoDB 在社区越来越流行,生产环境的使用也日益广泛。
对于 SQL 转战 NoSQL的开发人员来说,最难的一步其实是将原有的 SQL 的概念和知识直接复用过来,最大化的减小学习的成本。
其实,这一步 MongoDB 官方已经为大家考虑到了,那就是在:MongoDB CRUD Operations
> MongoDB CRUD Operations
> SQL to MongoDB Mapping Chart,这篇文档非常好的总结了 SQL 对应 MongoDB 的术语和概念,还有可执行文件、SQL 语句/MongoDB 语句等,
可以说对于 SQL 数据库开发人员,如果理解了他们之间的对应关系,那么就一只脚就迈进了 MongoDB 的大门。
Terminology and Concepts
下表介绍了各种 SQL 术语和概念以及相应的 MongoDB 术语和概念.
SQL术语/概念 | MongoDB 术语/概念 |
---|---|
database | database |
table | collection |
row | document 或 BSON document |
column | field |
index | index |
table joins (表联接) | $lookup, embedded documents (嵌入式文档) |
primary key 指定任何唯一的列或者列组合作为主键 | primary key 在 MongoDB 中, 主键自动设置为 _id 字段 |
aggregation (如:group by) | aggregation pipeline (聚合管道) 参考:SQL to Aggregation Mapping Chart |
SELECT INTO NEW_TABLE | $out 参考: SQL to Aggregation Mapping Chart |
MERGE INTO TABLE | $merge (从MongoDB 4.2开始可用) 参考:SQL to Aggregation Mapping Chart |
transactions | transactions |
TIP
在许多情况下,
非规范化数据模型(嵌入式文档和数组) denormalized data model (embedded documents and arrays)
将继续是您数据和用例的最佳选择,而不是多文档事务. 也就是说,对于许多场景,对数据进行适当的建模将最大限度地减少对多文档事务(multi-document transactions)</