没有合适的资源?快使用搜索试试~ 我知道了~
MongoDB复习全书
资源详情
资源评论
资源推荐
简介及安装配置
是什么?
数据存储方案可用于存储和检索应用程序所需的数据,常见的三种:
文件系统存储 关系型数据库 数据库
并不单指一个产品或一种技术,它代表一族产品,以及一系列不同、有时相互关联
的、有关数据存储及处理的概念。
文档数据库
文档” 是文档数据库中的主要概念。此类数据库可存放并获 取文档。
这些文档具备自述性,呈现分层的数状数据结构,可以包含映射表、集合和纯量值。
数据库中的文档彼此相似,但不必完全相同
文档数据库所存放的文档,就相当于键值数据库所存放的“值”。
这两份文档看上去相似,然而其中各属性的名字不同。文档数据库中可以这么做。
各文档的“数据模式 ”也许不同,但是它们仍然能放在同一“集合”内 ,而不是像关系型数据
库那样,表格中每行数据的模式都要相同 。
将“子文档”以“子对象”的形式嵌入主文档,可方便访问并提升效率 。
文档数据库表示方法与关系型数据库不同:
后者需要定义表中的每一列,而且若某 条记录中的某列没有数据 ,则要将其留空
或设为 。
文档数据库的文档则 没有空属性,若其中不存在某属性,就假定该属性值未设定或与此文
档无关。向 文档中新增属性时,既无需预先定义,也不用修改已有文档内容。
文档数据库适用案例以及不适用场合
适用场合:事件记录 内容管理系统及博客平台 网站分析与实时分析 电子商务应用程序
不适用场合:包含多项操作的复杂事务 查询持续变化的聚合结构
理解
基于 文档存储模型;数据对象被存储为集合中的文档;以二进制 对象的
方式存储。
面向文档 高性能 高扩展性 对 注入攻击免疫
理解集合
使用集合将数据编组。集合是一组用途相同或类似的文档。集合不受严格模
式的管制。在 数据库中,文档表示单个实体的数据,集合包含一个或多个相关的
文档。文档可包含嵌入的子文档,提供的数据模型与应用程序的要求更一致。表示文档的
记录以 的方式存储。
使用文档引用范式化数据
通过组织文档和集合以最大限度减少冗余和依赖。找出这样的对象属性,属性成为子
对象,应作为一个独立的文档存储在对象文档中的不同集合中。
优点 减少数据库规模 独立的集合中存储子对象的拷贝,不是重复存储修改操作
缺点 查找 子对象时频繁访问这些对象,影响性能。
使用嵌入式文档对数据进行反范式化
指找出应直接嵌入到主对象文档中的子对象。
适用情形:主对象和子对象之间为一对一关系或者子对象很少且不会频繁更新。
优点:只需一次查找即可获得整个对象。
缺点:一对多关系 存储多个拷贝。
使用固定集合
能够创建大小固定的集合。如果需要写入新文档,将删除最旧文档,在插入
新文档。
优点:按顺序排列文档 禁止执行导致文档增大的更新 自动删除集合中最旧文档
理解原子写入操作
写入操作在文档级是原子性的。不可能多个进程同时更新一个文档或集合。
反范式化文档的写入是原子性的。
写入范式化文档时,需要对其他集合中的子文档执行独立的写入操作,因此对范式化文档
的写入可能不是原子性的。
考虑文档增大
缓解文档增大问题的方式之一:对于频繁增长的属性,将其设计为范式化对象。
使用大型集合还是大量集合
存在大量集合不会严重影响性能,但一个集合中包含大量数据会严重影响性能。
确定数据的生命周期
文档在集合在存储多久的问题
文档存活周期 ()
中实现 机制两种方式
一种方法时在应用程序中对旧数据进行监视和清理的代码;
另一种方法是对集合设置 指定多少秒后或到达指定时间后自动将文档删除。
考虑数据可用性和性能
数据可用性指的是数据库能够满足用户的功能需求。
数据性能要求指的是数据库必须以能够接受的速度提供数据。
解释集合 、文档、
范式化文档和反范式化文档有何不同?
安装和配置
安装 服务器
: 启动
创建数据库目录
打开命令行窗口,切换到 !目录执行如下命令:
""! #
:配置文件启动
配置文件内容: !$%(文件名)
! #&
#&'!$
&(
)( &(*启用日志文件,默认启用
(&+,-.,*端口号 默认为 +,-.,
通过下面的命令启动服务器
""%/!$%
: 文件启动
$! :
""%!/!$%
$! :
.+,$-$-$.+,-.,0 (这两个文件要存放在 ! 目录下)
访问 接口
步骤一:配置文件中参数:#1(/ &(
步骤二:重启 服务器 本地主机适用 23 可访问 #100 #'+4-.,0
脚本编程
使用命令行选项 执行 !" 表达式
参数"" 接受一个 ( 字符串或 ( 文件。
'"" ()'!$56 '7
在 中使用方法 #$来执行脚本
使用方法 '(8 #'# 加载并执行脚本文件 !8 $)':
0 0!0!8 $)'7 中使用该命令。
在命令 % 中指定要执行的 !" 文件
创建一个 ( 文件,并直接使用 命令来执行。
例如:86$)' 文件代码:
!&6 #'09('7
()'!$5 '
执行脚本文件:86$)'
(!) 6是一种轻量级的数据交换格式。
语法规则
语法是 (对象表示语法的子集。
数据在键值对中 数据由逗号分隔 花括号保存对象 方括号保存数组
数据的书写格式是:名称&值对。
冒号 :隔开 :%(' ::#
等价于这条 (语句 %(' &:#:
'()!%(*(!+(,(%(*( -"(,(%"(*((.
从语法方面来看,这与:名称 0值对:相比并没有很大的优势,但是在这种情况下 更容
易使用,而且可读性更好。例如,它明确地表示以上三个值都是同一记录的一部分;花括
号使这些值有了某种联系。
当需要表示一组值时,不但能够提高可读性,而且可以减少复杂性。
用点号和方括号访问数据,也可以按照同样的方式轻松地修改数据:
$' ';.<$ ' &:3 # :=
如果要处理大量 (对象,那么 是一个好选择,这样就可以轻松地将数据转换
为可以在请求中发送给服务器端程序的格式。
此 对象包括了一个学生数组,而学生数组中的值又是两个 对象。
>
:学生:;
>:姓名::小明::年龄:+?@
>:姓名::大憨::年龄:+A@
<
@
#"!/!""0 -%1!%$是一种二进制形式的存储格式,采用了类似于 5
语言结构体的名称、对表示方法,支持内嵌的文档对象和数组对象,具有轻量性、可遍历
性、高效性的特点,可以有效描述非结构化数据和结构化数据。
存储格式 类 的一种二进制形式
有三个特点:轻量性、可遍历性、高效性。
数组是值(-)的有序集合。
(.)一个数组以“;7(左中括号)开始,“<7(右中括号)结束。
(+)值之间使用“7(逗号)分隔。
剩余25页未读,继续阅读
creeperaweman
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
- 基于MATLAB的声纹识别系统设计源码 - VoiceprintRecognition
- 基于Java的微服务插件集合设计源码 - wsy-plugins
- 基于Vue和微信小程序的监理日志系统设计源码 - supervisionLog
- 基于Java和LCN分布式事务框架的设计源码 - tx-lcn
- 基于Java和JavaScript的茶叶评级管理系统设计源码 - tea
- IMG_5680.JPG
- IMG_0437.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0