1. 不是什么?
要想知道MongoDB是什么,我们得先搞清楚它不是什么,首先它不是关系数据,不是像下面这样这种格式存储数据。
这个图展示了关系型数据库的常用存储方式,一个表格,里面存储了多行记录,并且表格和表格之间可以通过某个字段关联起来。
2. MongoDB怎么存储数据?
其实非关系型数据库有很多,不同的非关系型数据存储的内容也不同:
- redis:主要是键值存储
- cassandra:列存储
- OBJECTIVITY/DB:对象存储
- neo4j:图形存储
同样作为非关系型数据库MongoDB也有自己存储的内容,那就是文档
总结一下:MongoDB是存储文档的非关系型数据库。
2.1 存储结构
在MongoDB中有多个集合,拥有相似内容的文档被归类在一个集合之下,文档中包含各种字段和对应的值。
**注意:**同一个集合中的文档可以拥有完全不同的字段。比如我们可以把描述客户的文章和描述账户的文档放在同一个集合中。
在MongoDB中并不存在一个提前制定好的数据格式,比如类似mysql中的表结构,这种在MongoDB中是不存在的。
那话说回来,如果我要想更新一个字段或者新增一个字段该怎么办呢?只需要把包含新字段的文档写进数据库即可。