Mangodb基本概念和介绍,Mango三个重要的概念:数据库,集合,文档
MongoDB基本概念和介绍
MongoDB 是一个开源的、基于分布式文件存储的NoSQL数据库,由 C++ 编写。
它的主要特点是:
- 使用**面向文档(Document-Oriented)**的存储方式,不是传统的表格行列模式。
- 存储的数据格式是BSON(类似 JSON 的二进制格式)。
- 支持非常灵活的数据模型,每条数据(文档)可以拥有不同的字段和结构。
- 支持高性能、高可扩展性(水平扩展/分片)。
- 提供强大的查询功能(支持索引、聚合、全文搜索等)。
常用于需要快速开发、灵活变化的数据结构、海量数据存储场景,比如:内容管理系统、电商后台、社交应用等。
MongoDB中的三个重要概念
在MongoDB中,最重要的三个基本概念是:
1. 数据库(Database)
- MongoDB 可以在同一个服务器上存储多个数据库。
- 每个数据库有自己独立的权限、存储空间。
- 类似于传统关系型数据库中的“数据库”的概念。
- 例子:
school
数据库存储学校相关的数据。
命令示例:
use school
(如果 school
数据库不存在,这条命令也会在插入数据时自动创建它)
2. 集合(Collection)
- 集合就是数据库中的表的概念。
- 一个数据库可以包含多个集合。
- 集合中存储的是文档,而且同一集合内的文档结构可以不同(不像传统数据库要求每行必须符合一个固定表结构)。
- 例子:在
school
数据库中,可以有一个集合students
存储学生数据,一个集合teachers
存储教师数据。
命令示例:
db.createCollection("students")
(实际上直接插入数据时集合也可以自动创建)
3. 文档(Document)
- 文档是 MongoDB 中数据的最小单位,相当于关系型数据库中的“一行数据”。
- 文档的格式是BSON(Binary JSON),但看起来就是JSON对象的形式。
- 文档由**字段(key-value对)**组成。
- 每个文档默认都会有一个唯一的
_id
字段,作为主键。
文档示例:
{"_id": ObjectId("6634c789b6c69efb873ea111"),"name": "Alice","age": 20,"major": "Computer Science"
}
插入文档示例:
db.students.insertOne({name: "Alice",age: 20,major: "Computer Science"
})
总结一下:
概念 | 类比传统数据库 | 说明 |
---|---|---|
数据库 | Database | 存放集合的容器 |
集合 | Table(表) | 存放文档的集合体 |
文档 | Row(行) | 具体的数据记录,灵活多变 |