MongoDB入门经典
MongoDB入门经典
前 言
1 NoSQL和MongoDB简介
1.1 NoSQL是什么
1.1.1 文档存储数据库
1.1.2 键/值数据库
1.1.3 列存储数据库
1.1.4 图存储数据库
1.2 选择RDBMS、NoSQL还是两者
1.3 理解MongoDB
1.3.1 理解集合
1.3.2 理解文档
1.4 MongoDB数据类型
1.5 规划数据模型
1.5.1 使用文档引用范式化数据
1.5.2 使用嵌入式文档对数据进行反范式化
1.5.3 使用固定集合
1.5.4 理解原子写入操作
1.5.5 考虑文档增大
1.5.6 找出可使用索引、分片和复制的情形
1.5.7 使用大型集合还是大量集合
1.5.8 确定数据的生命周期
1.5.9 考虑数据可用性和性能
1.6 小结
1.7 问与答
1.8 作业
1.8.1 小测验
1.8.2 小测验答案
1.8.3 练习
2 安装和配置MongoDB
2.1 搭建MongoDB环境
2.1.1 安装MongoDB
2.1.2 启动MongoDB
2.1.3 配置MongoDB
2.1.4 停止MongoDB
2.2 访问MongoDB HTTP接口
2.3 从MongoDB shell访问MongoDB
2.3.1 启动MongoDB shell
2.3.2 理解MongoDB shell命令
2.3.3 理解MongoDB shell原生方法和构造函数
2.3.4 理解命令参数和结果
2.4 MongoDB shell脚本编程
2.4.1 使用命令行选项--eval执行JavaScript表达式
2.4.2 在MongoDB shell中使用方法load()来执行脚本
2.4.3 在命令mongo中指定要执行的JavaScript文件
2.5 小结
2.6 问与答
2.7 作业
2.7.1 小测验
2.7.2 小测验答案
2.7.3 练习
3 在MongoDB shell中使用JavaScript
3.1 定义变量
3.2 理解JavaScript数据类型
3.3 在MongoDB shell脚本中输出数据
3.4 使用运算符
3.4.1 算术运算符
3.4.2 赋值运算符
3.4.3 比较运算符和条件语句
3.5 循环
3.5.1 while循环
3.5.2 do/while循环
3.5.3 for循环
3.5.4 for/in循环
3.5.5 中断循环
3.6 创建函数
3.6.1 定义函数
3.6.2 向函数传递变量
3.6.3 从函数返回值
3.6.4 使用匿名函数
3.7 理解变量作用域
3.8 使用JavaScript对象
3.8.1 使用对象语法
3.8.2 创建自定义对象
3.8.3 使用原型对象模式
3.9 操作字符串
3.9.1 合并字符串
3.9.2 在字符串中搜索子串
3.9.3 替换字符串中的单词
3.9.4 将字符串分割成数组
3.10 使用数组
3.10.1 合并数组
3.10.2 迭代数组
3.10.3 将数组转换为字符串
3.10.4 检查数组是否包含特定的元素
3.10.5 在数组中增删元素
3.11 添加错误处理
3.11.1 try/catch块
3.11.2 引发自定义错误
3.11.3 使用finally
3.12 小结
3.13 问与答
3.14 作业
3.14.1 小测验
3.14.2 小测验答案
3.14.3 练习
4 配置用户账户和访问控制
4.1 理解admin数据库
4.2 管理用户账户
4.2.1 创建用户账户
4.2.2 列出用户
4.2.3 删除用户
4.3 配置访问控制
4.3.1 创建用户管理员账户
4.3.2 启用身份验证
4.3.3 创建数据库管理员账户
4.4 小结
4.5 问与答
4.6 作业
4.6.1 小测验
4.6.2 小测验答案
4.6.3 练习
5 在MongoDB shell中管理数据库和集合
5.1 理解Database和Collection对象
5.1.1 理解Connection对象
5.1.2 理解Database对象
5.1.3 理解Collection对象
5.2 管理数据库
5.2.1 显示数据库列表
5.2.2 切换到其他数据库
5.2.3 创建数据库
5.2.4 删除数据库
5.3 管理集合
5.3.1 显示数据库的集合列表
5.3.2 创建集合
5.3.3 删除集合
5.4 实现示例数据集
5.4.1 理解示例数据集
5.5 小结
5.6 问与答
5.7 作业
5.7.1 小测验
5.7.2 小测验答案
5.7.3 练习
6 使用MongoDB shell在MongoDB集合中查找文档
6.1 理解Cursor对象
6.2 理解查询运算符
6.3 从集合中获取文档
6.4 查找特定的文档
6.4.1 根据特定的字段值查找文档
6.4.2 根据字段值数组查找文档
6.4.3 根据字段值的大小查找文档
6.4.4 根据数组字段的长度查找文档
6.4.5 根据子文档中的值查找文档
6.4.6 根据数组字段的内容查找文档
6.4.7 根据字段是否存在查找文档
6.4.8 根据子文档数组中的字段查找文档
6.5 小结
6.6 问与答
6.7 作业
6.7.1 小测验
6.7.2 小测验答案
6.7.3 练习
7 使用MongoDB shell执行其他数据查找操作
7.1 计算文档数
7.2 对结果集进行排序
7.3 限制结果集
7.3.1 限制结果集的大小
7.3.2 限制返回的字段
7.3.3 结果集分页
7.4 查找不同的字段值
7.5 小结
7.6 问与答
7.7 作业
7.7.1 小测验
7.7.2 小测验答案
7.7.3 练习
8 操作集合中的MongoDB文档
8.1 理解写入关注
8.2 配置数据库连接错误处理
8.3 获取数据库写入请求的状态
8.4 理解数据库更新运算符
8.5 使用MongoDB shell在集合中添加文档
8.6 使用MongoDB shell更新集合中的文档
8.7 使用MongoDB shell将文档保存到集合中
8.8 使用MongoDB shell在集合中更新或插入文档
8.9 使用MongoDB shell从集合中删除文档
8.10 小结
8.11 问与答
8.12 作业
8.12.1 小测验
8.12.2 小测验答案
8.12.3 练习
9 使用分组、聚合和映射-归并
9.1 在MongoDB shell中对查找操作的结果进行分组
9.2 从MongoDB shell发出请求时使用聚合来操作数据
9.2.1 理解方法aggregate()
9.2.2 使用聚合框架运算符
9.2.3 使用聚合表达式运算符
9.3 在MongoDB shell中使用映射-归并生成新的数据结果
9.3.1 理解方法mapReduce()
9.4 小结
9.5 问与答
9.6 作业
9.6.1 小测验
9.6.2 小测验答案
9.6.3 练习
10 在Java应用程序中实现MongoDB
10.1 理解Java MongoDB驱动程序中的对象
10.1.1 理解Java对象MongoClient
10.1.2 理解Java对象DB
10.1.3 理解Java对象DBCollection
10.1.4 理解Java对象DBCursor
10.1.5 理解Java对象BasicDBObject和DBObject
10.2 使用Java查找文档
10.2.1 使用Java从MongoDB获取文档
10.2.2 使用Java在MongoDB数据库中查找特定的文档
10.3 使用Java计算文档数
10.4 使用Java对结果集排序
10.5 小结
10.6 问与答
10.7 作业
10.7.1 小测验
10.7.2 小测验答案
10.7.3 练习
11 在Java应用程序中访问MongoDB数据库
11.1 使用Java限制结果集
11.1.1 使用Java限制结果集的大小
11.1.2 使用Java限制返回的字段
11.1.3 使用Java将结果集分页
11.2 使用Java查找不同的字段值
11.3 在Java应用程序中对查找操作结果进行分组
11.4 从Java应用程序发出请求时使用聚合来操作数据
11.5 小结
11.6 问与答
11.7 作业
11.7.1 小测验
11.7.2 小测验答案
11.7.3 练习
12 在Java应用程序中操作MongoDB数据
12.1 使用Java添加文档
12.2 使用Java删除文档
12.3 使用Java保存文档
12.4 使用Java更新文档
12.5 使用Java更新或插入文档
12.6 小结
12.7 问与答
12.8 作业
12.8.1 小测验
12.8.2 小测验答案
12.8.3 练习
13 在PHP应用程序中实现MongoDB
13.1 理解PHP MongoDB驱动程序中的对象
13.1.1 理解PHP对象MongoClient
13.1.2 理解PHP对象MongoDB
13.1.3 理解PHP对象MongoCollection
13.1.4 理解PHP对象MongoCursor
13.1.5 理解表示参数和文档的PHP对象Array
13.1.6 设置写入关注和其他请求选项
13.2 使用PHP查找文档
13.2.1 使用PHP从MongoDB获取文档
13.2.2 使用PHP在MongoDB数据库中查找特定的文档
13.3 使用PHP计算文档数
13.4 使用PHP对结果集排序
13.5 小结
13.6 问与答
13.7 作业
13.7.1 小测验
13.7.2 小测验答案
13.7.3 练习
14 在PHP应用程序中访问MongoDB数据库
14.1 使用PHP限制结果集
14.1.1 使用PHP限制结果集的大小
14.1.2 使用PHP限制返回的字段
14.1.3 使用PHP将结果集分页
14.2 使用PHP查找不同的字段值
14.3 在PHP应用程序中对查找操作结果进行分组
14.4 从PHP应用程序发出请求时使用聚合来操作数据
14.5 小结
14.6 问与答
14.7 作业
14.7.1 小测验
14.7.2 小测验答案
14.7.3 练习
15 在PHP应用程序中操作MongoDB数据
15.1 使用PHP添加文档
15.2 使用PHP删除文档
15.3 使用PHP保存文档
15.4 使用PHP更新文档
15.5 使用PHP更新或插入文档
15.6 小结
15.7 问与答
15.8 作业
15.8.1 小测验
15.8.2 小测验答案
15.8.3 练习
16 在Python应用程序中实现MongoDB
16.1 理解Python MongoDB驱动程序中的对象
16.1.1 理解Python对象MongoClient
16.1.2 理解Python对象Database
16.1.3 理解Python对象Collection
16.1.4 理解Python对象Cursor
16.1.5 理解表示参数和文档的Python对象Dictionary
16.1.6 设置写入关注和其他请求选项
16.2 使用Python查找文档
16.2.1 使用Python从MongoDB获取文档
16.2.2 使用Python在MongoDB数据库中查找特定的文档
16.3 使用Python计算文档数
16.4 使用Python对结果集排序
16.5 小结
16.6 问与答
16.7 作业
16.7.1 小测验
16.7.2 小测验答案
16.7.3 练习
17 在Python应用程序中访问MongoDB数据库
17.1 使用Python限制结果集
17.1.1 使用Python限制结果集的大小
17.1.2 使用Python限制返回的字段
17.1.3 使用Python将结果集分页
17.2 使用Python查找不同的字段值
17.3 在Python应用程序中对查找操作结果进行分组
17.4 从Python应用程序发出请求时使用聚合来操作数据
17.5 小结
17.6 问与答
17.7 作业
17.7.1 小测验
17.7.2 小测验答案
17.7.3 练习
18 在Python应用程序中操作MongoDB数据
18.1 使用Python添加文档
18.2 使用Python删除文档
18.3 使用Python保存文档
18.4 使用Python更新文档
18.5 使用Python更新或插入文档
18.6 小结
18.7 问与答
18.8 作业
18.8.1 小测验
18.8.2 小测验答案
18.8.3 练习
19 在Node.js应用程序中实现MongoDB
19.1 理解Node.js MongoDB驱动程序中的对象
19.1.1 理解回调函数
19.1.2 理解Node.js对象MongoClient
19.1.3 理解Node.js对象Database
19.1.4 理解Node.js对象Collection
19.1.5 理解Node.js对象Cursor
19.1.6 理解用于表示参数和文档的Node.js JavaScript对象
19.1.7 设置写入关注和其他请求选项
19.2 使用Node.js查找文档
19.2.1 使用Node.js从MongoDB获取文档
19.2.2 使用Node.js在MongoDB数据库中查找特定的文档
19.3 使用Node.js计算文档数
19.4 使用Node.js对结果集排序
19.5 小结
19.6 问与答
19.7 作业
19.7.1 小测验
19.7.2 小测验答案
19.7.3 练习
20 在Node.js应用程序中访问MongoDB数据库
20.1 使用Node.js限制结果集
20.1.1 使用Node.js限制结果集的大小
20.1.2 使用Node.js限制返回的字段
20.1.3 使用Node.js将结果集分页
20.2 使用Node.js查找不同的字段值
20.3 在Node.js应用程序中对查找操作结果进行分组
20.4 从Node.js应用程序发出请求时使用聚合来操作数据
20.5 小结
20.6 问与答
20.7 作业
20.7.1 小测验
20.7.2 小测验答案
20.7.3 练习
21 在Node.js应用程序中操作MongoDB数据
21.1 使用Node.js添加文档
21.2 使用Nosde.js删除文档
21.3 使用Node.js保存文档
21.4 使用Node.js更新文档
21.5 使用Node.js更新或插入文档
21.6 小结
21.7 问与答
21.8 作业
21.8.1 小测验
21.8.2 小测验答案
21.8.3 练习
22 使用MongoDB shell管理数据库
22.1 管理数据库和集合
22.1.1 复制数据库
22.1.2 重命名集合
22.1.3 创建固定集合
22.2 管理索引
22.2.1 添加索引
22.2.2 删除索引
22.2.3 重建索引
22.3 理解性能和诊断任务
22.3.1 查看数据库和集合的统计信息
22.3.2 检查数据库
22.3.3 剖析MongoDB
22.3.4 评估查询
22.3.5 使用诊断命令top
22.4 修复MongoDB数据库
22.5 备份MongoDB数据库
22.6 小结
22.7 问与答
22.8 作业
22.8.1 小测验
22.8.2 小测验答案
22.8.3 练习
23 在MongoDB中实现复制和分片
23.1 在MongoDB中实现复制
23.1.1 理解复制策略
23.1.2 部署副本集
23.2 在MongoDB中实现分片
23.2.1 理解分片服务器的类型
23.2.2 选择片键
23.2.3 选择分区方法
23.2.4 部署MongoDB分片集群
23.3 小结
23.4 问与答
23.5 作业
23.5.1 小测验
23.5.2 小测验答案
23.5.3 练习
24 实现MongoDB GridFS存储
24.1 理解GridFS存储
24.2 从命令行实现GridFS
24.3 使用Java MongoDB驱动程序实现MongoDB GridFS
24.3.1 在Java中访问MongoDB GridFS
24.3.2 使用Java列出MongoDB GridFS中的文件
24.3.3 使用Java在MongoDB GridFS中添加文件
24.3.4 使用Java从MongoDB GridFS中获取文件
24.3.5 使用Java从MongoDB GridFS中删除文件
24.4 使用PHP MongoDB驱动程序实现MongoDB GridFS
24.4.1 在PHP中访问MongoDB GridFS
24.4.2 使用PHP列出MongoDB GridFS中的文件
24.4.3 使用PHP在MongoDB GridFS中添加文件
24.4.4 使用PHP从MongoDB GridFS中获取文件
24.4.5 使用PHP从MongoDB GridFS中删除文件
24.5 使用Python MongoDB驱动程序实现MongoDB GridFS
24.5.1 在Python中访问MongoDB GridFS
24.5.2 使用Python列出MongoDB GridFS中的文件
24.5.3 使用Python在MongoDB GridFS中添加文件
24.5.4 使用Python从MongoDB GridFS中获取文件
24.5.5 使用Python从MongoDB GridFS中删除文件
24.6 使用Node.js MongoDB驱动程序实现MongoDB GridFS
24.6.1 在Node.js中访问MongoDB GridFS
24.6.2 使用Node.js列出MongoDB GridFS中的文件
24.6.3 使用Node.js在MongoDB GridFS中添加文件
24.6.4 使用Node.js从MongoDB GridFS中获取文件
24.6.5 使用Node.js从MongoDB GridFS中删除文件
24.7 小结
24.8 问与答
24.9 作业
24.9.1 小测验
24.9.2 小测验答案
24.9.3 练习
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5b2b4de4b069f82a1a4d55.png)
思维导图在线编辑链接: