没有合适的资源?快使用搜索试试~ 我知道了~
MongoDB中文用户手册
资源推荐
资源详情
资源评论
MongoDB 中文用户手册
MongoDB 介绍
什么是 MongoDB?
什么是 MongoDB?MongoDB 是一个面向文档的 NoSQL 数据库,用于大容量数据存储。
MongoDB 是 2000 年代中期出现的一个数据库,属于 NoSQL 数据库。
在这个教学大纲里,你会学习
• 什么是 MongoDB?
• MongoDB 功能
• MongoDB 例子
• MongoDB 架构的关键组件
• 为什么使用 MongoDB
• MongoDB 中的数据建模
• MongoDB 和 RDBMS 之间的差异
MongoDB 功能
1. 每个数据库都包含集合,而集合又包含文档。每个文档可以有不同的字段数。每个文档
的大小和内容可以彼此不同。
2. 文档结构更符合开发人员如何用各自的编程语言构造类和对象。开发人员通常会说,他
们的类不是行和列,而是有一个带有键值对的清晰结构。
3. 正如 NoSQL 数据库简介中所看到的,行(或 MongoDB 中调用的文档)不需要预先
定义模式。相反,可以动态创建字段。
4. MongoDB 中可用的数据模型允许您更容易地表示层次关系、存储数组和其他更复杂
的结构。
5. 可扩展性—MongoDB 环境非常容易扩展。世界各地的公司都定义了集群,其中一些
公司运行 100 多个节点,数据库中有大约数百万个文档。
MongoDB 例子
下面的示例显示如何在 MongoDB 中建模文档。
1. MongoDB 添加了_id 字段以唯一标识集合中的文档。
2. 您可以注意到,RDBMS 中的订单数据(OrderID、Product 和 Quantity )通常存储
在单独的表中,而在 MongoDB 中,它实际上存储在集合本身的一个嵌入文档中。这
是 MongoDB 中数据建模方式的主要区别之一。
MongoDB 架构的关键组件
以下是 MongoDB 中使用的一些常用术语
1. _ id – 这是每个 MongoDB 文档中都需要的字段。_id 字段表示 MongoDB 文档中的唯
一值。“ID”字段类似于文档的主键。如果创建一个没有 id 字段的新文档,MongoDB 将自
动创建该字段。例如,如果我们看到上面的 customer 表的示例,MongoDB 将向集合中的
每个文档添加一个 24 位的唯一标识符。
_Id CustomerID CustomerName OrderID
563479cc8a8a4246bd27d784 11 Guru99 111
563479cc7a8a4246bd47d784 22 Trevor Smith 222
563479cc9a8a4246bd57d784 33 Nicole 333
1. 集合 – 这是一组 MongoDB 文档。集合相当于在任何其他 RDM(如 Oracle 或 MS
SQL)中创建的表。单个数据库中存在集合。从介绍集合中可以看出,不强制任何类型
的结构。
2. 游标 – 这是指向查询结果集的指针。客户机可以遍历光标以检索结果。
3. 数据库 – 这是一个用于集合的容器,就像在 RDMS 中一样,其中它是一个用于表的容
器。每个数据库在文件系统上都有自己的文件集。MongoDB 服务器可以存储多个数
据库。
4. 文件 – MongoDB 集合中的记录基本上称为文档。文档将依次由字段名和值组成。
5. 字段 – 文档中的名称-值对。文档有零个或多个字段。字段类似于关系数据库中的列。
下图显示了具有键值对的字段示例。因此在下面的示例中,CustomerID 和 11 是文档中定义
的键值对之一。
6.JSON – 这被称为 javascript 对象表示法。这是一种人类可读的纯文本格式,用于表示结构
化数据。目前许多编程语言都支持 JSON。
只需简单说明 ID 字段和普通集合字段之间的关键区别。标识字段用于唯一标识集合中的文档,
并在创建集合时由 MongoDB 自动添加。
为什么使用 MongoDB?
下面是为什么应该开始使用 MongoDB 的几个原因
1. 面向文档 – 由于 MongoDB 是一个 NoSQL 类型的数据库,因此它不使用关系类型格
式的数据,而是将数据存储在文档中。这使得 MongoDB 非常灵活,能够适应实际的
业务环境和需求。
2. 即席查询 – MongoDB 支持按字段、范围查询和正则表达式搜索。可以进行查询以返
回文档中的特定字段。
3. 索引-可以创建索引以提高 MongoDB 中搜索的性能。MongoDB 文档中的任何字段都
可以被索引。
4. 复制-MongoDB 可以为副本集提供高可用性。副本集由两个或多个 Mongo DB 实例
组成。每个副本集成员可以随时扮演主副本或辅助副本的角色。主副本是与客户机交
互并执行所有读/写操作的主服务器。辅助副本使用内置复制来维护主副本的数据。当
主副本失败时,副本集会自动切换到辅助副本,然后成为主服务器。
5. 负载均衡 – MongoDB 使用 sharding 的概念,通过跨多个 MongoDB 实例拆分数据
来横向扩展。MongoDB 可以在多个服务器上运行,平衡负载和/或复制数据,以在硬
件故障时保持系统的正常运行。
MongoDB 中的数据建模
正如我们在介绍部分看到的,MongoDB 中的数据有一个灵活的模式。与 SQL 数据库不同,
在插入数据之前必须声明表的模式,MongoDB 的集合不强制使用文档结构。这种灵活性正
是 MongoDB 如此强大的原因。
在 Mongo 中建模数据时,请记住以下几点
1. 应用程序的需求是什么?查看应用程序的业务需求,并查看应用程序所需的数据和数据
类型。在此基础上,确保相应地确定文件的结构。
2. 什么是数据检索模式?如果您预见到大量的查询使用,那么考虑在数据模型中使用索引
来提高查询的效率。
3. 数据库中是否经常发生插入、更新和删除操作?如果数据建模设计中需要,请重新考虑
索引的使用或合并碎片,以提高整个 MongoDB 环境的效率。
剩余77页未读,继续阅读
资源评论
shandongwill
- 粉丝: 3372
- 资源: 395
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功