about banner




MongoDB Introduction
  • Data Types
  • Running Scripts with the Shell
  • Documents
  • Ease of Use
  • Creating a mongorcjs
  • Arrays
  • Basic Data Types
  • Customizing Your Prompt
  • A MongoDB Client
  • Running the Shell
  • Tips for Using the Shell
  • Dynamic Schemas
  • Easy Scaling
  • _id and ObjectIds
  • Basic Operations with the Shell
  • Inconvenient Collection Names
  • Databases
  • Naming
  • Embedded Documents
  • Using the MongoDB Shell
  • Editing Complex Variables
  • Tons of Features Without Sacrificing Speed
  • Dates
  • Collections
CRUD with MongoDB
  • Setting a Write Concern
  • Document Replacement
  • Insert Validation
  • Upserts
  • Batch Insert
  • Remove Speed
  • Updating Multiple Documents
  • Removing Documents
  • Updating Documents
  • Using Modifiers
  • Returning Updated Documents
  • Inserting and Saving Documents
Querying
  • Query Conditionals
  • $where Queries
  • Cursors
  • Query Criteria
  • Conditional Semantics
  • Avoiding Large Skips
  • null
  • Type-Specific Queries
  • Limits, Skips, and Sorts
  • Querying on Embedded Documents
  • Regular Expressions
  • OR Queries
  • $not
  • Limitations
  • Querying Arrays
  • Immortal Cursors
  • Database Commands
  • Introduction to find
  • Specifying Which Keys to Return
  • Server-Side Scripting
  • Getting Consistent Results
  • How Commands Work
  • Advanced Query Options
MongoDB Application Development
  • Queries and aggregation
  • Updates, atomic operations, and deletes
  • Document-oriented data
  • Advanced Indexing
  • No-_id Collections
  • Sorting Au Naturel
  • Compound Geospatial Indexes
  • Time-To-Live Indexes
  • Search Syntax
  • Creating Capped Collections
  • Searching in Other Languages
  • Capped Collections
  • Storing Files with GridFS
  • Geospatial Indexing
  • Types of Geospatial Queries
  • D Indexes
  • Full-Text Search Optimization
  • Getting Started with GridFS: mongofiles
  • Working with GridFS from the MongoDB Drivers
  • Tailable Cursors
  • Full-Text Indexes
Indexing
  • The Query Optimizer
  • When Not to Index
  • Changing Indexes
  • Index Cardinality
  • How $-Operators Use Indexes
  • Using Compound Indexes
  • Identifying Indexes
  • Introduction to Indexing
  • Indexing Objects and Arrays
  • Types of Indexes
  • Introduction to Compound Indexes
  • Using explain() and hint()
  • Index Administration
  • Unique Indexes
  • Sparse Indexes
Application Design
  • Examples of Data Representations
  • Cardinality
  • Managing Consistency
  • Optimizations for Data Manipulation
  • Optimizing for Document Growth
  • Removing Old Data
  • Migrating Schemas
  • Friends, Followers, and Other Inconveniences
  • Normalization versus Denormalization
  • When Not to Use MongoDB
  • Planning Out Databases and Collections
Aggregation
  • distinct
  • $sort
  • Using Pipelines
  • group
  • $group
  • Pipeline Operations
  • MapReduce
  • $limit
  • $skip
  • Aggregation Commands
  • $match
  • MongoDB and MapReduce
  • Example : Categorizing Web Pages
  • count
  • $unwind
  • The Aggregation Framework
  • Example : Finding All Keys in a Collection
  • $project
Replication
  • Creating Election Arbiters
  • Hidden
  • Slave Delay
  • How Elections Work
  • Networking Considerations
  • Setting Up a Replica Set
  • rs Helper Functions
  • Changing Your Replica Set Configuration
  • Member Configuration Options
  • Configuring a Replica Set
  • How to Design a Set
  • Priority
  • Building Indexes
Components of a Replica Set
  • Initial Syn
  • Rollbacks
  • Custom Replication Guarantees
  • What Can Go Wrong?
  • Member States
  • Handling Staleness
  • Creating Other Guarantees
  • Sending Reads to Secondaries
  • Elections
  • When Rollbacks Fail
  • Consistency Considerations
  • Guaranteeing One Server per Data Center
  • Reasons to Read from Secondaries
  • Heartbeats
  • Other Options for “w”
  • Syncing
  • Guaranteeing a Majority of Nonhidden Members
  • Client-to-Replica-Set Connection Behavior
  • Load Considerations
  • Connecting to a Replica Set from Your Application
  • Waiting for Replication on Write
MongoDB Internals
  • Indexing and query optimization
  • Replication
  • Sharding
Monitoring MongoDB Applications
  • False Positives
  • Seeing the Current Operations
  • Documents
  • Collections
  • Calculating Sizes
  • Finding Problematic Operations
  • Preventing Phantom Operations
  • Using mongotop and mongostat
  • Killing Operations
  • Using the System Profiler
  • Databases
  • Seeing What Your Application Is Doing
Sharding
  • Starting the Servers
  • Adding a Shard from a Replica Set
  • Splitting Chunks
  • Chunk Ranges
  • Configuring Sharding
  • Sharding Data
  • Understanding the Components of a Cluster
  • When to Shard
  • The Balancer
  • Config Servers
  • Adding Capacity
  • The mongos Processes
  • How MongoDB Tracks Cluster Data
Durability
  • What Journaling Does
  • Replacing Data Files
  • Durability with Replication
  • Sneaky Unclean Shutdowns
  • Planning Commit Batches
  • Checking for Corruption
  • What MongoDB Does Not Guarantee
  • Repairing Data Files
  • Setting Commit Intervals
  • Turning Off Journaling
  • The mongodlock File
Advanced Sharding
  • Controlling Data Distribution
  • Location-Based Shard Keys
  • Hashed Shard Keys for GridFS
  • The Firehose Strategy
  • Shard Key Limitations
  • Ascending Shard Keys
  • Shard Key Strategies
  • Picturing Distributions
  • Randomly Distributed Shard Keys
  • Hashed Shard Key
  • Choosing a Shard Key
  • Shard Key Cardinality
  • Manual Sharding
  • Shard Key Rules and Guidelines
  • Taking Stock of Your Usage
  • Multi-Hotspot
  • Using a Cluster for Multiple Databases and Collections