1. MongoDB 概述
MongoDB 是一种流行的跨平台文档导向数据库,为开发人员提供了高度可伸缩的操作性能。它是一种 NoSQL 数据库,意味着它在数据存储方面与传统关系型数据库(如 Oracle 和 MySQL)不同,而是使用非结构化数据模型,可存储更丰富的数据类型,如文档、数组和对象。但是,与传统关系型数据库不同,MongoDB 的数据模型和 API 已经得到广泛采用;同时对于需要处理大数据集的应用程序,MongoDB 提供了非常灵活的存储和检索数据的方法。
MongoDB 由 MongoDB Inc. 开发,所使用的编程语言为 C++,UIL为 JavaScript。
2. MongoDB 目录结构简述
MongoDB 的文件存储方式就是将数据文件放在指定目录下,而数据目录由管理员在启动 MongoDB 实例时指定,MongoDB 数据库目录结构如下:
/data/
db/
configdb/
dao/
log/
2.1 数据目录
数据目录是 MongoDB 实例使用的存储数据和数据文件的位置。通过命令行选项 --dbpath 或配置文件中指定,每个 MongoDB 实例只对应一个数据目录。MongoDB 实例使用 db
目录存储数据。
2.2 配置数据库
MongoDB 实例存储其所有配置数据的专用数据库称为 configdb
。
2.3 日志目录
日志目录 存储 MongoDB 实例使用的所有运行时日志。
3. MongoDB 实例相关目录简述
MongoDB 实例相关目录包含 MongoDB 实例启动所需的所有文件,包括配置文件、PID 文件等。
instance/
data/
conf/
log/mongod.log
pid/mongod.pid
stdio/
3.1 常见目录和文件
1. data:存储实例运行期间在此目录下创建的所有数据文件,数据目录可以通过命令行选项 --dbpath 或配置文件中 data.dbPath 指定。
2. log/mongod.log:如果启用日志记录,所有运行时消息都写入此文件。
3. pid/mongod.pid:启动 MongoDB 实例时,pid 文件包含该实例的进程 ID,可用于停止实例。
4. conf:包含 mongod 实例运行时使用的所有配置文件。
4. MongoDB 数据库和集合
在 MongoDB 中,数据库和集合是重中之重。MongoDB 最大的优势是可以使用非结构化的文档来存储数据,这不仅使得数据的存储更加方便,而且更容易处理。在熟悉了 MongoDB 数据库和集合之后,我们可以通过 mongoose
查找和检索数据、执行聚合或创建文档对象等等。
4.1 MongoDB 数据库
MongoDB 中的数据库是一种逻辑存储,可以包含多个集合,集合是一组 MongoDB 文档。
顾名思义,一个 MongoDB 数据库存储 MongoDB 文档,这个文档集可以统一或组织成不同的集合,从而提高整个项目的可读性和可理解性。一个 MongoDB 实例可以有多个不同的数据库,而每个数据库都有其自己的独立名字。
4.2 MongoDB 集合
MongoDB 中的集合是一组 MongoDB 文档。相对于 MongoDB 数据库来说,MongoDB 集合是更具体的文档集合。
MongoDB 集合相当于关系型数据库中的表。每个集合都有其自己的文档结构,可以与其他集合保持独立。这意味着,如果系统的每个集合都包含有关客户的信息,那么您可以更快地处理客户信息的数据。
5. 总结
作为一种流行的跨平台文档导向数据库,MongoDB 本质上基于非结构化数据模型。它为开发人员提供了高度可伸缩的操作性能,因此被广泛使用。MongoDB 的目录结构相对简单,数据目录用于存储 MongoDB 实例使用的数据和数据文件,配置数据库存储 MongoDB 实例使用的所有配置数据,而日志目录用于存储 MongoDB 实例运行时的运行时日志。
除了数据目录和配置文件之外,MongoDB 数据目录和实例相关目录还包括日志目录、pid 文件、以及 stdio 文件等。理解 MongoDB 数据库和集合的概念是 MongoDB 入门的重要一步,因此学习 MongoDB 的目录结构和使用相应的 API 也是非常重要的。