Chapter 1. A database for the modern web
Chapter 2. MongoDB through the JavaScript shell
Chapter 3. Writing programs using MongoDB
Chapter 6. Aggregation
Figure 6.1. Aggregation pipeline: the output of each operation is input to the next operation.
Figure 6.2. Example aggregation framework pipeline
Figure 6.3. Data model summarizing e-commerce collections and relationships
Chapter 7. Updates, atomic operations, and deletes
Figure 7.1. An initial category hierarchy
Figure 7.2. Adding a Gardening category
Chapter 8. Indexing and query optimization
Figure 8.1. A compound index inside a cookbook
Figure 8.2. Single-key index traversal
Figure 8.3. Compound-key index traversal
Chapter 9. Text search
Figure 9.1. Search results from search for term “java” at www.manning.com
Figure 9.2. Results from searching for term “script” on www.manning.com
Figure 9.3. Page ranking based on importance of pages linking to a page
Figure 9.4. Searching results in more than just books.
Figure 9.5. A search showing how a book can appear more than once
Figure 9.6. Search on Amazon using the term “apple” and illustrating the use of faceted search
Chapter 10. WiredTiger and pluggable storage
Figure 10.1. The read performance of MMAPv1 and WiredTiger
Figure 10.2. MongoDB multiple storage engines support mechanisms
Figure 10.3. Root node with three elements
Chapter 11. Replication
Figure 11.1. A basic replica set consisting of a primary, a secondary, and an arbiter
Figure 11.2. A three-node replica set with members in two datacenters
Chapter 12. Scaling your system with sharding
Figure 12.1. Components in a MongoDB shard cluster
Figure 12.2. Levels of granularity available in a sharded MongoDB deployment
Figure 12.3. A map of processes comprising the sample shard cluster
Figure 12.4. The chunk distribution of the spreadsheets collection
Figure 12.5. Targeted and global queries against a shard cluster
Figure 12.6. The ascending shard key causing all writes to go to one chunk.
Figure 12.7. Splitting a chunk that was previously unsplittable when sharding only on username
Figure 12.8. Overview of two ways an email application might be sharded
Figure 12.9. A two-shard cluster deployed across four machines
Figure 12.10. A two-shard cluster deployed across six machines and two datacenters
Chapter 13. Deployment and administration
Figure 13.2. A simplified visualization of how MongoDB depends on the operating system and hardware
Figure 13.3. Man-in-the-middle attack
Figure 13.4. The impact on disk usage when the working set exceeds RAM
Appendix B. Design patterns
Appendix C. Binary data and GridFS
Figure C.1. Storing a file with GridFS using 256 KB chunks on a MongoDB server prior to v2.4.10