秉持MongoDB一樣的風格,本書簡潔明快。MongoDB新手先看第一章簡介,馬上就能上手。有經驗的用戶會得益于本書的廣度和權威性。對于客戶端API和高級的管理話題,如復制,備份和分片,本書都是權威參考手冊。
因為我最近已經開始在日常工作中使用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
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
附錄C 深入MongoDB 內部 169