标题：MongoDB 权威指南
基本信息
作　　者：(美) 霍多罗夫，(美) 迪洛尔夫 著，程显峰 译
出 版 社：人民邮电出版社
出版时间：2011-5-1
版　　次：1
页　　数：172
字　　数：278000
印刷时间：2011-4-1
开　　本：16开
纸　　张：胶版纸
印　　次：1
I S B N：9787115251121
包　　装：平装
内容简介
MongoDB如何帮你管理通过Web应用收集的海量数据呢?通过本书的权威解读，你会了解面向文档数据库的诸多优点，会发现MongoDB如此稳定、性能优越甚至能够无限水平扩展背后的原因。
本书的两位作者均来自开发并支持开源数据库MongoDB的公司10gen。数据库开发人员可将此书作为参考指南，系统管理员可以从本书中找到高级配置技巧，其他用户可以了解一些基本概念和用例。你会发现，将数据组织成自包含的JSON风格的文档比组织成关系型数据库中的记录要容易得多。
目录
中文版序一　XI
中文版序二　XIII
序　XV
前言　XVII
第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.1　limit、skip和sort　57
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　命令参考　93
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驱动程序操作GridFS100
7.3.3　内部原理　100
7.4　服务器端脚本　101
7.4.1　dbeval　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.1.1　安装Java驱动程序　145
11.1.2　使用Java驱动程序　145
11.1.3　模式设计　146
11.1.4　用Java实现　148
11.1.5　一些问题　149
11.2　新闻聚合器：PHP　149
11.2.1　安装PHP驱动程序　150
11.2.2　使用PHP驱动程序　151
11.2.3　设计新闻聚集器　151
11.2.4　评论树　152
11.2.5　投票　153
11.3　自定义提交表单：Ruby　154
11.3.1　安装Ruby驱动　154
11.3.2　使用Ruby驱动　155
11.3.3　自定义表单提交　155
11.3.4　Ruby的对象映射和在Rails中使用MongoDB 157
11.4　实时分析：Python　157
11.4.1　安装PyMongo　157
11.4.2　使用PyMongo　158
11.4.3　用于实时分析的MongoDB　158
11.4.4　模式　159
11.4.5　处理请求　159
11.4.6　使用分析数据　160
11.4.7　其他因素　160
附录A　安装MongoDB　163
附录B　mongo：MongoDB shell　167
附录C　深入MongoDB内部　169