MongoDB文档与集合.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
MongoDB 是一种流行的开源、非关系型数据库管理系统,以其灵活性和高性能而闻名。它采用文档存储模型,这里的“文档”是指键值对形式的数据结构,类似于 JSON 对象,但使用 BSON(Binary JSON)格式,允许存储更丰富的数据类型。文档是 MongoDB 的基本数据单元,而“集合”则是文档的集合,类似于传统关系型数据库(RDBMS)中的表格。 文档在 MongoDB 中具有以下特点: 1. 文档是无模式的,这意味着不同的文档可以在同一个集合中拥有不同的字段,且相同的字段可以有不同的数据类型。 2. 文档中的键值对是有顺序的,但这种顺序通常对应用程序是透明的,因为 MongoDB 的查询并不依赖键的顺序。 3. 文档的键是字符串,且不能重复,可以包含大多数 UTF-8 字符,但有一些限制,如不能包含空字符 `\0`,也不能以 `.` 和 `$` 开头,除非在特定环境中使用。 4. `_id` 键是一个特殊键,用于唯一标识每个文档,类似于 RDBMS 中的主键。默认情况下,如果没有提供 `_id`,MongoDB 会自动生成一个 ObjectId 值。 5. 文档可以嵌套,即一个文档内可以包含其他文档,实现复杂的数据结构。 集合是 MongoDB 数据库中的逻辑存储单元,具有以下特点: 1. 集合是动态模式的,这意味着集合不需要预先定义其结构,可以随时插入不同格式和类型的数据。 2. 集合的名称有特定的命名规范,不能为空,不能包含空字符 `\0`,也不能以 `system.` 开头,避免与系统集合冲突。 3. 用户创建的集合不应包含保留字符 `$`,除非访问系统创建的集合。 MongoDB 还提供了一种特殊的集合类型——“固定大小集合”(Capped Collections),用于实现高性能的队列功能。Capped Collections 有固定的存储容量,一旦达到上限,新插入的数据会替换最旧的数据,保持集合的大小不变。这使得它们适用于日志记录和其他需要按插入顺序管理数据的场景。创建 Capped Collection 时,需要指定大小(以字节为单位),并明确声明其为 capped。 在 Capped Collections 中,操作有以下特点: 1. 只能添加新对象,但不会增加存储空间。如果更新会导致超出大小限制,更新操作会失败。 2. 不支持删除单个文档,只能通过 `drop()` 方法删除整个集合。 3. 在 32 位系统上,Capped Collection 的最大存储容量为 1GB(1e9 字节)。 MongoDB 的文档和集合模型提供了高度的灵活性和可扩展性,适合处理大量结构化但不完全一致的数据,尤其适用于需要快速写入和查询的现代应用程序。通过理解文档和集合的概念,以及它们在 MongoDB 中的特性和操作,开发者能够有效地利用 MongoDB 来构建高效、可伸缩的数据库解决方案。