mongodb和我们通常使用的关系型数据库如mysql,在一些基本概念上有相同之处,但也有一些区别,在进行mongodb的语言介绍之前,有必要先了解一些基础概念
本文将对比sql对一些基础概念进行解释说明
I. 基本概念
在sql中,会区分database, table, row, column, index, primaryId;在mongodb中也有对应的概念
sql | mongodb | 说明 |
---|---|---|
database | db | 数据库 |
table | collection | 表/集合 |
row | document | 行/文档 |
column | field | 字段 |
index | index | 索引 |
primaryId | _id | 主键 |
lock | lock | 锁 |
下面对以上基本概念进行简单说明,详情的后续博文会补上
1. 数据库
数据库可以理解为collection的聚集体,每个mongodb实例可以有多个database,每个database可以有多个collection
常见的几个命令如下:
1 | # 显示所有db |
2. 集合
document的集合,与table最大的区别是它的结构不是固定的,不需要事先定义字段、类型
首次新增document时,集合被创建;
3. document
文档,也就是具体的数据;bson结构,kv方式
最大的特点是不要求所有的document的结构一致,相同的field的数据类型可以不一致
4. index
索引,同样是用来提高查询效率,避免全盘扫描
5. lock
支持读写锁,document加读锁时,其他读操作ok,写操作禁止;加写锁时,其他读写操作禁止
6. 事务
版本>= 4.0
,支持事务,支持多文档ACID,后续详细说明
II. 其他
1. 一灰灰Blog: https://liuyueyi.github.io/hexblog
一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
2. 声明
尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
- 微博地址: 小灰灰Blog
- QQ: 一灰灰/3302797840
3. 扫描关注
一灰灰blog