第一部分 MongoDB 入门
第 2 章 入门指南
MongoDB 功能强大且易于上手。本章介绍 MongoDB 的一些基本概念。
- 文档是 MongoDB 中的基本数据单元,可以粗略地认为其相当于关系数据库管理系统中的行(但表达力要强得多)。
- 类似地,集合可以被看作具有动态模式的表。
- 一个 MongoDB 实例可以拥有多个独立的数据库,每个数据库都拥有自己的集合。
- 每个文档都有一个特殊的键"_id",其在所属的集合中是唯一的。
- MongoDB 自带了一个简单但功能强大的工具:mongo shell。mongo shell 对管理 MongoDB 实例和使用 MongoDB 的查询语言操作数据提供了内置的支持。它也是一个功能齐全的 JavaScript 解释器,用户可以根据需求创建或加载自己的脚本。
第 3 章 创建、更新和删除文档
本章介绍将数据移入和移出数据库的基本操作,具体包括以下几个方面:
- 向集合中添加新文档;
- 从集合中删除文档;
- 更新已有的文档。
第 4 章 查询
本章会详细介绍查询,主要涵盖以下几个方面:
- 使用 $ 条件进行范围查询、数据集包含查询、不等式查询,以及其他一些查询;
- 查询会返回一个数据库游标,其只会在需要时才惰性地进行批量返回;
- 有很多可以针对游标执行的元操作,包括跳过一定数量的结果、限定返回结果的数量,以及对结果进行排序。
第二部分 设计应用程序
第 5 章 索引
本章介绍 MongoDB 的索引。索引使你能够高效地执行查询。它们是应用程序开发的重要组成部分,甚至对于某些类型的查询是必需的。本章主要内容如下。
- 什么是索引?为什么要使用索引?
- 如何选择要创建索引的字段?
- 如何强制使用索引?如何对索引的使用进行评估?
- 创建及删除索引的管理细节。
你会发现,为集合选择正确的索引对性能至关重要。
第 6 章 特殊的索引和集合类型
本章介绍 MongoDB 中的一些特殊的索引和集合类型,包括:
- 用于类队列数据的固定集合(capped collection);
- 用于缓存的 TTL 索引;
- 用于简单字符串搜索的全文本索引;
- 用于二维平面和球体空间的地理空间索引;
- 用于存储大文件的 GridFS。
第 7 章 聚合框架
许多应用程序需要进行某一类的数据分析。Mongo