MangoDB简介
MongoDB 是一个开源、高性能、无模式的文档型数据库,是 NoSQL数据库产品中的一种。
它支持的数据结构非常松散,是一种类似 JSON
的格式叫 BSON
,所以它既可以存储比较复杂的数据类型,又相对灵活
核心概念
在 MongoDB 中,数据库
、集合
和 文档
是其存储数据结构的三大核心概念。
数据库(Database)
- MongoDB中的数据库是数据的物理容器。一个MongoDB实例可以包含多个数据库,每个数据库都有自己独立的集合和权限设置。
- 数据库是MongoDB组织数据的最高层级。常用的数据库操作包括创建、删除数据库以及切换当前使用的数据库。
- 在MongoDB中,数据库的名称必须是小写字母,并且不能包含空格和某些特殊字符。
集合(Collection)
- 集合是MongoDB中的一个容器,用于存储一组文档。集合类似于关系型数据库中的表,但与表不同的是,集合没有固定的结构。
- 集合中的文档可以具有不同的字段和数据类型。即使在同一个集合中,文档的结构也可以是动态的。
- 集合在使用前不需要显式创建,可以在插入文档时自动创建。
文档(Document)
- 文档是MongoDB中数据的基本单元。每个文档都是一个JSON格式的对象,以键值对的形式存储数据。
- 文档的结构是灵活的,可以包含嵌套的文档和数组。
- 每个文档都有一个唯一的
_id
字段,作为文档的主键。MongoDB会自动为每个文档生成一个唯一的_id
,除非用户显式指定。 - 文档之间可以有不同的字段和数据类型,这使得MongoDB具有很高的灵活性和扩展性。