MongoDB 是非关系型数据库,也就是nosql,存储json数据格式会非常灵活,要比mysql更好,同时也能为mysql分摊一部分的流量压力。另外呢,对于非事务的数据完全可以保存到MongoDB中,这些数据往往也是非核心数据。
以下是MongoDB和数据库以及ElasticSearch的术语对比:
数据库 | ElasticSearch | MongoDB |
---|---|---|
database | es库 | database |
table 表 | index 索引 | collection 数据集合 |
row 行(记录) | document 文档(json) | document 文档(json) |
column 字段列 | field 域 | field 域 |
index 索引 | - | index 索引 |
join 表关联查询 | - | - |
pk 主键 | _id | _id |
我们可以通过如下代码片段来更好的理解MongoDB的数据对比,假设这张表中总记录有3条:
UserList: [ { userId: "1001", username: "lee", age: 18, sex: "boy" }, { userId: "1002", username: "jay", age: 20, sex: "boy" }, { userId: "1003", username: "jolin", age: 19, sex: "girl" } ]
如上述代码中:
collection
,在mysql中可以当做是一张表{}
都是一个json对象,他们称之为document文档
,在mysql中称之为行记录field 域
,在MySQL中称之为column列字段