一架梯子,一头程序猿,仰望星空!
MongoDB面试题 > 内容正文

介绍下MongoDB数据模型,跟MYSQL对比有什么差异?


问题简答

MongoDB的数据模型是指它如何存储和组织数据。它是一种基于文档的模型,也被称为BSON(Binary JSON)。在MongoDB中,数据以JSON格式表示,并以文档的形式存储在集合中。文档是一个键值对的序列,其中键是字符串,值可以是各种类型的数据,包括嵌套的文档和数组。

问题详解:

1.MongoDB和MYSQL概念对比

1.1.集合(Collection)

在MongoDB中,集合类似于关系型数据库中的表。每个集合都包含多个文档(document),每个文档都可以有不同的字段(field)。在MySQL中,表是由行(row)和列(column)组成的,每个行代表一个记录,每个列代表一个属性。

1.2.文档(Document)

在MongoDB中,文档类似于关系型数据库中的行。每个文档都是一个键值对的序列,其中键是字符串,值可以是各种类型的数据,包括嵌套的文档和数组。在MySQL中,每个行代表一个记录,每个记录包含多个属性。

1.3.字段(Field)

在MongoDB中,字段是文档中的一个键值对。每个字段都有一个名称和一个值,值可以是各种类型的数据,包括嵌套的文档和数组。在MySQL中,每个列代表一个属性,每个属性都有一个名称和一个数据类型。

1.4.索引(Index)

在MongoDB中,索引用于加速查询操作。MongoDB支持各种类型的索引,包括单键索引、复合索引、地理空间索引等。在MySQL中,索引也用于加速查询操作,包括普通索引、唯一索引、全文索引等。

1.5. 聚合(Aggregation)

在MongoDB中,聚合指的是将多个文档组合在一起进行计算和分析的过程。MongoDB提供了强大的聚合框架,可以进行各种类型的聚合操作,包括计数、求和、平均值、最大值、最小值、分组等。在MySQL中,聚合指的是对查询结果进行计算和分析的过程。MySQL提供了各种聚合函数,包括COUNT、SUM、AVG、MAX、MIN等。

提示:详情请参考,Mongodb模型教程