了解MongoDB的无模式数据模型如何处理文档、集合和多个数据库之间的关系。
执行基本的写入操作,构建各种复杂的查询,任何条件下都能查出数据。
使用索引、聚合工具,以及其他高级查询技巧。
了解监控、安全和认证、备份和修复等内容。
建立主从集群和自动故障恢复复制。
利用分片水平扩展MongoDB,了解其对应用的影响。
Java、PHP、Python和Ruby的应用实例应有尽有。
《mongodb权威指南》
基本信息
- 原书名: MongoDB: The Definitive Guide
- 原出版社: O'Reilly Media
- 作者: (美)Kristina Chodorow Michael Dirolf [作译者介绍]
- 译者: 程显峰
- 丛书名: 图灵程序设计丛书
- 出版社:人民邮电出版社
- ISBN:9787115251121
- 上架时间:2011-5-13
- 出版日期:2011 年5月
- http://product.china-pub.com/197985
- 《mongodb权威指南》电子书在线阅读
内容简介
《mongodb权威指南》是一本广受好评的mongodb方面的图书。与传统的关系型数据库不同,mongodb是一种面向文档的数据库。书中介绍了面向文档的存储方式及利用mongodb的无模式数据模型处理文档、集合和多个数据库,讲述了如何执行基本的写操作以及如何执行各种复杂的条件查询,还介绍了索引、聚合工具以及其他高级查询技术,另外对监控、安全性和身份验证、备份和修复、水平扩展mongodb数据库等内容也有所涉及。
《mongodb权威指南》适合数据库开发人员阅读。
《mongodb权威指南》适合数据库开发人员阅读。
目录
《mongodb权威指南》
第1 章 简介 1
1.1 丰富的数据模型 1
1.2 容易扩展 1
1.3 丰富的功能 2
1.4 不牺牲速度 3
1.5 简便的管理 3
1.6 其他内容 3
第2 章 入门 5
2.1 文档 5
2.2 集合 6
2.2.1 无模式 6
2.2.2 命名 7
2.3 数据库 8
2.4 启动mongodb 9
2.5 mongodb shell 10
2.5.1 运行shell 10
2.5.2 mongodb 客户端 11
2.5.3 shell 中的基本操作 11
2.5.4 使用shell 的窍门 13
第1 章 简介 1
1.1 丰富的数据模型 1
1.2 容易扩展 1
1.3 丰富的功能 2
1.4 不牺牲速度 3
1.5 简便的管理 3
1.6 其他内容 3
第2 章 入门 5
2.1 文档 5
2.2 集合 6
2.2.1 无模式 6
2.2.2 命名 7
2.3 数据库 8
2.4 启动mongodb 9
2.5 mongodb shell 10
2.5.1 运行shell 10
2.5.2 mongodb 客户端 11
2.5.3 shell 中的基本操作 11
2.5.4 使用shell 的窍门 13
.2.6 数据类型 15
2.6.1 基本数据类型 15
2.6.2 数字 17
2.6.3 日期 18
2.6.4 数组 19
2.6.5 内嵌文档 19
2.6.6 _id 和objectid 20
第3 章 创建、更新及删除文档 23
3.1 插入并保存文档 23
3.1.1 批量插入 23
3.1.2 插入:原理和作用 24
3.2 删除文档 24
3.3 更新文档 25
3.3.1 文档替换 26
3.3.2 使用修改器 27
3.3.3 upsert 36
3.3.4 更新多个文档 38
3.3.5 返回已更新的文档 38
3.4 瞬间完成 41
3.4.1 安全操作 41
3.4.2 捕获“常规”错误 42
3.5 请求和连接 43
第4 章 查询 45
4.1 find 简介 45
4.1.1 指定返回的键 46
4.1.2 限制 46
4.2 查询条件 47
4.2.1 查询条件 47
4.2.2 or 查询 47
4.2.3 $not 48
4.2.4 条件句的规则 49
4.3 特定于类型的查询 49
4.3.1 null 49
4.3.2 正则表达式 50
4.3.3 查询数组 51
4.3.4 查询内嵌文档 53
4.4 $where 查询 55
4.5 游标 56
4.5.2 避免使用skip 略过大量结果 58
4.5.3 高级查询选项 60
4.5.4 获取一致结果 61
4.6 游标内幕 63
第5 章 索引 65
5.1 索引简介 65
5.1.1 扩展索引 67
5.1.2 索引内嵌文档中的键 68
5.1.3 为排序创建索引 68
5.1.4 索引名称 69
5.2 唯一索引 69
5.2.1 消除重复 69
5.2.2 复合唯一索引 70
5.3 使用explain 和hint 70
5.4 索引管理 75
5.5 地理空间索引 76
5.5.1 复合地理空间索引 78
5.5.2 地球不是二维平面 78
第6 章 聚合 79
6.1 count 79
6.2 distinct 79
6.3 group 80
6.3.1 使用完成器 82
6.3.2 将函数做为键使用 84
6.4 mapreduce 84
6.4.1 例1:找出集合中的所有键 85
6.4.2 例2: 网页分类 87
6.4.3 mongodb 和mapreduce 87
第7 章 进阶指南 91
7.1 数据库命令 91
7.1.1 命令的工作原理 92
7.1.2 命令参考 92
7.2 固定集合 95
7.2.1 属性及用法 96
7.2.2 创建固定集合 96
7.2.3 自然排序 97
7.2.4 尾部游标 98
7.3 gridfs:储存文件 99
7.3.1 开始使用gridfs:mongofiles 99
7.3.2 通过mongodb 驱动程序操作gridfs 100
7.3.3 内部原理 100
7.4 服务器端脚本 101
7.4.1 db.eval 101
7.4.2 存储javascript. 脚本 102
7.4.3 安全性 103
7.5 数据库引用 104
7.5.1 什么是dbref 104
7.5.2 示例模式 104
7.5.3 驱动对dbref 的支持 105
7.5.4 什么时候该使用dbref 呢 106
第8 章 管理 107
8.1 启动和停止mongodb 107
8.1.1 从命令行启动 107
8.1.2 配置文件 109
8.1.3 停止mongodb 110
8.2 监控 110
8.2.1 使用管理接口 110
8.2.2 serverstatus 112
8.2.3 mongostat 113
8.2.4 第三方插件 113
8.3 安全和认证 114
8.3.1 认证的基础知识 114
8.3.2 认证的工作原理 115
8.3.3 其他安全考虑 116
8.4 备份和修复 116
8.4.1 数据文件备份 117
8.4.2 mongodump 和mongorestore 117
8.4.3 fsync 和锁 118
8.4.4 从属备份 119
8.4.5 修复 119
第9 章 复制 121
9.1 主从复制 121
9.1.1 选项 122
9.1.2 添加删除源 123
9.2 副本集 124
9.2.1 初始化副本集 125
9.2.2 副本集中的节点 127
9.2.3 故障切换和主节点选举 128
9.3 在从服务器上执行操作 129
9.3.1 读扩展 130
9.3.2 用从节点做数据处理 130
9.4 工作原理 130
9.4.1 oplog 131
9.4.2 同步 131
9.4.3 复制状态和本地数据库 132
9.4.4 阻塞复制 132
9.5 管理 133
9.5.1 诊断 133
9.5.2 变更oplog 的大小 134
9.5.3 认证复制 134
第10 章 分片 135
10.1 分片简介 135
10.2 mongodb 中的分片 135
10.3 片键 137
10.3.1 将已有的集合分片 137
10.3.2 递增片键还是随机片键 137
10.3.3 片键对操作的影响 138
10.4 建立分片 139
10.4.1 启动服务器 139
10.4.2 切分数据 140
10.5 生产配置 140
10.5.1 健壮的配置 141
10.5.2 多个mongos 141
10.5.3 健壮的片 141
10.5.4 物理服务器 142
10.6 管理分片 142
10.6.1 配置集合 142
10.6.2 分片命令 143
第11 章 应用举例 145
11.1 化学品搜索引擎:java 145
11.2 新闻聚合器:php 149
11.3 自定义提交表单:ruby 154
11.4 实时分析: python 157
附录a 安装mongodb 163
附录b mongo:mongodb shell 167
2.6.1 基本数据类型 15
2.6.2 数字 17
2.6.3 日期 18
2.6.4 数组 19
2.6.5 内嵌文档 19
2.6.6 _id 和objectid 20
第3 章 创建、更新及删除文档 23
3.1 插入并保存文档 23
3.1.1 批量插入 23
3.1.2 插入:原理和作用 24
3.2 删除文档 24
3.3 更新文档 25
3.3.1 文档替换 26
3.3.2 使用修改器 27
3.3.3 upsert 36
3.3.4 更新多个文档 38
3.3.5 返回已更新的文档 38
3.4 瞬间完成 41
3.4.1 安全操作 41
3.4.2 捕获“常规”错误 42
3.5 请求和连接 43
第4 章 查询 45
4.1 find 简介 45
4.1.1 指定返回的键 46
4.1.2 限制 46
4.2 查询条件 47
4.2.1 查询条件 47
4.2.2 or 查询 47
4.2.3 $not 48
4.2.4 条件句的规则 49
4.3 特定于类型的查询 49
4.3.1 null 49
4.3.2 正则表达式 50
4.3.3 查询数组 51
4.3.4 查询内嵌文档 53
4.4 $where 查询 55
4.5 游标 56
4.5.2 避免使用skip 略过大量结果 58
4.5.3 高级查询选项 60
4.5.4 获取一致结果 61
4.6 游标内幕 63
第5 章 索引 65
5.1 索引简介 65
5.1.1 扩展索引 67
5.1.2 索引内嵌文档中的键 68
5.1.3 为排序创建索引 68
5.1.4 索引名称 69
5.2 唯一索引 69
5.2.1 消除重复 69
5.2.2 复合唯一索引 70
5.3 使用explain 和hint 70
5.4 索引管理 75
5.5 地理空间索引 76
5.5.1 复合地理空间索引 78
5.5.2 地球不是二维平面 78
第6 章 聚合 79
6.1 count 79
6.2 distinct 79
6.3 group 80
6.3.1 使用完成器 82
6.3.2 将函数做为键使用 84
6.4 mapreduce 84
6.4.1 例1:找出集合中的所有键 85
6.4.2 例2: 网页分类 87
6.4.3 mongodb 和mapreduce 87
第7 章 进阶指南 91
7.1 数据库命令 91
7.1.1 命令的工作原理 92
7.1.2 命令参考 92
7.2 固定集合 95
7.2.1 属性及用法 96
7.2.2 创建固定集合 96
7.2.3 自然排序 97
7.2.4 尾部游标 98
7.3 gridfs:储存文件 99
7.3.1 开始使用gridfs:mongofiles 99
7.3.2 通过mongodb 驱动程序操作gridfs 100
7.3.3 内部原理 100
7.4 服务器端脚本 101
7.4.1 db.eval 101
7.4.2 存储javascript. 脚本 102
7.4.3 安全性 103
7.5 数据库引用 104
7.5.1 什么是dbref 104
7.5.2 示例模式 104
7.5.3 驱动对dbref 的支持 105
7.5.4 什么时候该使用dbref 呢 106
第8 章 管理 107
8.1 启动和停止mongodb 107
8.1.1 从命令行启动 107
8.1.2 配置文件 109
8.1.3 停止mongodb 110
8.2 监控 110
8.2.1 使用管理接口 110
8.2.2 serverstatus 112
8.2.3 mongostat 113
8.2.4 第三方插件 113
8.3 安全和认证 114
8.3.1 认证的基础知识 114
8.3.2 认证的工作原理 115
8.3.3 其他安全考虑 116
8.4 备份和修复 116
8.4.1 数据文件备份 117
8.4.2 mongodump 和mongorestore 117
8.4.3 fsync 和锁 118
8.4.4 从属备份 119
8.4.5 修复 119
第9 章 复制 121
9.1 主从复制 121
9.1.1 选项 122
9.1.2 添加删除源 123
9.2 副本集 124
9.2.1 初始化副本集 125
9.2.2 副本集中的节点 127
9.2.3 故障切换和主节点选举 128
9.3 在从服务器上执行操作 129
9.3.1 读扩展 130
9.3.2 用从节点做数据处理 130
9.4 工作原理 130
9.4.1 oplog 131
9.4.2 同步 131
9.4.3 复制状态和本地数据库 132
9.4.4 阻塞复制 132
9.5 管理 133
9.5.1 诊断 133
9.5.2 变更oplog 的大小 134
9.5.3 认证复制 134
第10 章 分片 135
10.1 分片简介 135
10.2 mongodb 中的分片 135
10.3 片键 137
10.3.1 将已有的集合分片 137
10.3.2 递增片键还是随机片键 137
10.3.3 片键对操作的影响 138
10.4 建立分片 139
10.4.1 启动服务器 139
10.4.2 切分数据 140
10.5 生产配置 140
10.5.1 健壮的配置 141
10.5.2 多个mongos 141
10.5.3 健壮的片 141
10.5.4 物理服务器 142
10.6 管理分片 142
10.6.1 配置集合 142
10.6.2 分片命令 143
第11 章 应用举例 145
11.1 化学品搜索引擎:java 145
11.2 新闻聚合器:php 149
11.3 自定义提交表单:ruby 154
11.4 实时分析: python 157
附录a 安装mongodb 163
附录b mongo:mongodb shell 167
附录c 深入mongodb 内部 169