编辑推荐
全球销量逾百万册的系列图书;
连续十余年打造的经典图书;
直观、循序渐进的学习教程;
掌握关键知识的起点;
“Read Less,Do More”(精读多练)的教学理念;
以示例引导读者完成常见的任务;
每章内容针对初学者精心设计,1小时轻松阅读学习,24小时彻底掌握关键知识;
每章案例与练习题助你轻松完成常见任务;
通过实践提高应用技能,巩固所学知识。
循序渐进的示例引导读者完成常见的MongoDB开发任务。
问与答、测验和练习帮助读者检验知识的掌握情况。
“注意”、“提示”和“警告”指出捷径和解决方案。
本书涵盖如下内容:
判断何时使用NoSQL,何时使用传统的RDBMS;
理解重要的MongoDB数据结构和设计概念;
安装并配置MongoDB;
为应用程序选择合适的NoSQL分布模型;
规划并实现类型和规模各异的MongoDB数据库;
设计包括集合和索引在内的MongoDB数据模型;
创建数据库、集合和索引;
掌握重要的MongoDB数据存储、查找和检索方法;
使用PHP、Python、Java和Node.js/Mongoose与数据交互;
平衡一致性、性能和持久性;
管理、监视、检查、保护、备份和修复MongoDB数据库;
掌握分片和复制等高级技术;
实现GridFS存储以高效地存储和检索大型数据文件;
评估查询以优化性能;
找出并排除集合和数据库存在的问题。
通过阅读本书,即使读者之前没有任何MongoDB数据库经验,也能够打造快速、高效的大数据和实时数据库解决方案。本书采用直观、循序渐进的方法,演示如何设计、实现和优化MongoDB数据库、如何存储和管理数据,以及如何应对分片和复制等高级任务。每章内容都建立在已学的知识之上,为读者充分发挥MongoDB的威力打下坚实的基础。
读者可通过http://www.informit.com/content/images/9780672337130/downloads/9780672337130_Dayley_Code.zip下载本书所有的源代码。
内容简介
MongoDB是目前非常流行的一种非关系型数据库(NoSQL),因其操作简单、完全免费、源码公开等特点,受到了IT从业人员的青睐,并被广泛部署于实际的生产环境中。
《MongoDB入门经典》采用直观、循序渐进的方法,讲解了如何设计、实施和优化NoSQL数据库,如何存储和管理数据,以及如何执行数据分片和复制等任务。本书共分为24章,其内容涵盖了NoSQL和传统RDBMS的使用时机,理解基本的MongoDB数据结构和设计概念,安装和配置MongoDB,为自己的应用选择正确的NoSQL交付模型,规划和实施不同类型和规模的MongoDB数据库,设计MongoDB数据模型,创建新的数据库、集合和索引,掌握存储、查找和获取MongoDB数据的方法,通过PHP、Python、Java和Node.js/Mongoose与数据交互,在一致性、性能和持久性方面做出平衡,对MongoDB数据库进行管理、监控、验证、保护、备份和修复;掌握数据分片和复制等高级技术;实施GridFS存储来有效地存储和获取大型数据文件,评估用于优化性能的查询,查找和诊断与集合、数据库相关的问题。
《MongoDB入门经典》适合对NoSQL以及MongoDB感兴趣的数据库开发、运维人员阅读。
作者简介
Brad Dayley是一名咨询软件工程师,拥有20多年企业级应用程序开发经验;设计并开发过大型商业应用程序,包括后端为NoSQL数据库、前端为网页的SAS应用程序;另著有Node.js, MongoDB and AngularJS Web Development和Sams Teach Yourself jQuery and JavaScript in 24 Hours。
内页插图
目录
目录
第1章 NoSQL和MongoDB简介 1
1.1 NoSQL是什么 1
1.1.1 文档存储数据库 2
1.1.2 键/值数据库 2
1.1.3 列存储数据库 2
1.1.4 图存储数据库 2
1.2 选择RDBMS、NoSQL还是
两者 3
1.3 理解MongoDB 3
1.3.1 理解集合 4
1.3.2 理解文档 4
1.4 MongoDB数据类型 5
1.5 规划数据模型 6
1.5.1 使用文档引用范式化数据 6
1.5.2 使用嵌入式文档对数据进行
反范式化 7
1.5.3 使用固定集合 8
1.5.4 理解原子写入操作 9
1.5.5 考虑文档增大 9
1.5.6 找出可使用索引、分片和复制的
情形 9
1.5.7 使用大型集合还是大量集合 10
1.5.8 确定数据的生命周期 10
1.5.9 考虑数据可用性和性能 10
1.6 小结 11
1.7 问与答 11
1.8 作业 11
1.8.1 小测验 11
1.8.2 小测验答案 12
1.8.3 练习 12
第2章 安装和配置MongoDB 13
2.1 搭建MongoDB环境 13
2.1.1 安装MongoDB 13
2.1.2 启动MongoDB 14
2.1.3 配置MongoDB 15
2.1.4 停止MongoDB 15
2.2 访问MongoDB HTTP接口 17
2.3 从MongoDB shell访问
MongoDB 18
2.3.1 启动MongoDB shell 18
2.3.2 理解MongoDB shell命令 18
2.3.3 理解MongoDB shell原生方法和
构造函数 19
2.3.4 理解命令参数和结果 20
2.4 MongoDB shell脚本编程 20
2.4.1 使用命令行选项--eval执行
JavaScript表达式 20
2.4.2 在MongoDB shell中使用方法
load()来执行脚本 21
2.4.3 在命令mongo中指定要执行的
JavaScript文件 21
2.5 小结 23
2.6 问与答 23
2.7 作业 23
2.7.1 小测验 24
2.7.2 小测验答案 24
2.7.3 练习 24
第3章 在MongoDB shell中
使用JavaScript 25
3.1 定义变量 25
3.2 理解JavaScript数据类型 26
3.3 在MongoDB shell脚本中输出
数据 27
3.4 使用运算符 28
3.4.1 算术运算符 28
3.4.2 赋值运算符 28
3.4.3 比较运算符和条件语句 29
3.5 循环 31
3.5.1 while循环 31
3.5.2 do/while循环 31
3.5.3 for循环 32
3.5.4 for/in循环 32
3.5.5 中断循环 33
3.6 创建函数 35
3.6.1 定义函数 35
3.6.2 向函数传递变量 35
3.6.3 从函数返回值 36
3.6.4 使用匿名函数 36
3.7 理解变量作用域 38
3.8 使用JavaScript对象 38
3.8.1 使用对象语法 39
3.8.2 创建自定义对象 39
3.8.3 使用原型对象模式 40
3.9 操作字符串 41
3.9.1 合并字符串 42
3.9.2 在字符串中搜索子串 42
3.9.3 替换字符串中的单词 42
3.9.4 将字符串分割成数组 43
3.10 使用数组 44
3.10.1 合并数组 45
3.10.2 迭代数组 45
3.10.3 将数组转换为字符串 46
3.10.4 检查数组是否包含特定的元素 46
3.10.5 在数组中增删元素 46
3.11 添加错误处理 48
3.11.1 try/catch块 48
3.11.2 引发自定义错误 49
3.11.3 使用finally 49
3.12 小结 50
3.13 问与答 50
3.14 作业 50
3.14.1 小测验 50
3.14.2 小测验答案 51
3.14.3 练习 51
第4章 配置用户账户和访问控制 52
4.1 理解admin数据库 52
4.2 管理用户账户 53
4.2.1 创建用户账户 53
4.2.2 列出用户 56
4.2.3 删除用户 58
4.3 配置访问控制 60
4.3.1 创建用户管理员账户 60
4.3.2 启用身份验证 61
4.3.3 创建数据库管理员账户 61
4.4 小结 64
4.5 问与答 64
4.6 作业 64
4.6.1 小测验 64
4.6.2 小测验答案 65
4.6.3 练习 65
第5章 在MongoDB shell中管理
数据库和集合 66
5.1 理解Database和Collection
对象 66
5.1.1 理解Connection对象 66
5.1.2 理解Database对象 67
5.1.3 理解Collection对象 68
5.2 管理数据库 70
5.2.1 显示数据库列表 70
5.2.2 切换到其他数据库 70
5.2.3 创建数据库 70
5.2.4 删除数据库 71
5.3 管理集合 74
5.3.1 显示数据库的集合列表 74
5.3.2 创建集合 74
5.3.3 删除集合 76
5.4 实现示例数据集 77
5.5 小结 80
5.6 问与答 81
5.7 作业 81
5.7.1 小测验 81
5.7.2 小测验答案 81
5.7.3 练习 82
第6章 使用MongoDB shell在
MongoDB集合中查找文档 83
6.1 理解Cursor对象 83
6.2 理解查询运算符 84
6.3 从集合中获取文档 86
6.4 查找特定的文档 90
6.4.1 根据特定的字段值查找文档 91
6.4.2 根据字段值数组查找文档 91
6.4.3 根据字段值的大小查找文档 91
6.4.4 根据数组字段的长度查找文档 91
6.4.5 根据子文档中的值查找文档 92
6.4.6 根据数组字段的内容查找文档 92
6.4.7 根据字段是否存在查找文档 92
6.4.8 根据子文档数组中的字段查找
文档 92
6.5 小结 95
6.6 问与答 95
6.7 作业 95
6.7.1 小测验 95
6.7.2 小测验答案 95
6.7.3 练习 96
第7章 使用MongoDB shell执行其他
数据查找操作 97
7.1 计算文档数 97
7.2 对结果集进行排序 99
7.3 限制结果集 101
7.3.1 限制结果集的大小 101
7.3.2 限制返回的字段 103
7.3.3 结果集分页 106
7.4 查找不同的字段值 109
7.5 小结 111
7.6 问与答 111
7.7 作业 111
7.7.1 小测验 111
7.7.2 小测验答案 112
7.7.3 练习 112
第8章 操作集合中的MongoDB
文档 113
8.1 理解写入关注 113
8.2 配置数据库连接错误处理 114
8.3 获取数据库写入请求的状态 114
8.4 理解数据库更新运算符 116
8.5 使用MongoDB shell在集合中
添加文档 117
8.6 使用MongoDB shell更新集合
中的文档 119
8.7 使用MongoDB shell将文档
保存到集合中 123
8.8 使用MongoDB shell在集合中
更新或插入文档 125
8.9 使用MongoDB shell从集合中
删除文档 128
8.10 小结 130
8.11 问与答 130
8.12 作业 130
8.12.1 小测验 131
8.12.2 小测验答案 131
8.12.3 练习 131
第9章 使用分组、聚合和映射-归并 132
9.1 在MongoDB shell中对查找
操作的结果进行分组 132
9.2 从MongoDB shell发出请求时
使用聚合来操作数据 136
9.2.1 理解方法aggregate() 136
9.2.2 使用聚合框架运算符 136
9.2.3 使用聚合表达式运算符 137
9.3 在MongoDB shell中使用映射-
归并生成新的数据结果 140
9.4 小结 145
9.5 问与答 145
9.6 作业 145
9.6.1 小测验 145
9.6.2 小测验答案 145
9.6.3 练习 146
第10章 在Java应用程序中实现
MongoDB 147
10.1 理解Java MongoDB驱动程序
中的对象 147
10.1.1 理解Java对象MongoClient 148
10.1.2 理解Java对象DB 149
10.1.3 理解Java对象DBCollection 149
10.1.4 理解Java对象DBCursor 150
10.1.5 理解Java对象BasicDBObject和
DBObject 151
10.2 使用Java查找文档 153
10.2.1 使用Java从MongoD
前言/序言
MongoDB入门经典 下载 mobi epub pdf txt 电子书 格式