Contents
Chapter 1: Introduction to MongoDB
Reviewing the MongoDB Philosophy
Using the Right Tool for the Right Job
Lacking Innate Support for Transactions
Adopting a Nonrelational Approach
Opting for Performance vs. Features
Using Document-Oriented Storage (BSON)
Updating Information In Place (Memory Mapped Database Only)
Using Map and Reduce Functions
Cutting and Pasting MongoDB Code
Finding Solutions on Google Groups
Finding Solutions on Stack Overflow
Leveraging the JIRA Tracking System
Chatting with the MongoDB Developers
Understanding the Version Numbers
Installing MongoDB on Your System
Installing MongoDB under Linux
Installing MongoDB under Windows
Surveying the Installation Layout
Confirming That Your PHP Installation Works
Confirming That Your PyMongo Installation Works
Impacting Performance with Indexes
Implementing Geospatial Indexing
Querying Geospatial Information
Using MongoDB in the Real World
Viewing Available Databases and Collections
Inserting Data into Collections
Using the Sort , Limit , and Skip Functions
Working with Capped Collections, Natural Order, and $natural
Using the Aggregation Commands
Working with Conditional Operators
Leveraging Regular Expressions
Implementing an Upsert with the save() Command
Updating Information Automatically
Removing Elements from an Array
Specifying the Position of a Matched Array
Modifying and Returning a Document Atomically
Implementing Index-Related Functions
Surveying Index-Related Commands
Getting Started with the Command-Line Tools
Exploiting the Power of Python
Comparing Documents in MongoDB and PHP
Querying for Specific Information
Sorting, Limiting, and Skipping Items
Counting the Number of Matching Results
Grouping Data with the Aggregation Framework
Specifying the Index with Hint
Refining Queries with Conditional Operators
Determining Whether a Field Has a Value
Saving Time with Update Operators
Modifying a Document Atomically
Adding More Metadata to Stored Files
Working with Documents in Python
Simplifying Queries with sort() , limit() , and skip()
Specifying an Index with hint()
Refining Queries with Conditional Operators
Conducting Searches with Regular Expressions
Replacing Documents with replace_one()
Modifying a Document Atomically
Putting the Parameters to Work
Creating a Link Between Two Documents
Text Search Costs and Limitations
Text Indexes in Other Languages
Compound Indexing with Text Indexes
Chapter 9: Database Administration
Using Third-Party Administration Tools
Backing Up a Single Collection
Restoring Individual Databases or Collections
Using a Remote (Cloud-Based) Datastore
Using a Hidden Secondary Server for Backups
Creating Snapshots with a Journaling Filesystem
Disk Layout to Use with Volume Managers
Securing Your Data by Restricting Access to a MongoDB Server
Protecting Your Server with Authentication
Authenticating in the mongo Console
Using Authenticated Connections in a PHP Application
Validating and Repairing Your Data
Validating a Single Collection
Repairing Collection Validation Faults
Repairing a Collection’s Data Files
Compacting a Collection’s Data Files
Optimizing Your Server Hardware for Performance
Understanding MongoDB’s Storage Engines
Understanding MongoDB Memory Use Under MMAPv1
Understanding Working Set Size in MMAPv1
Understanding MongoDB Memory Use Under WiredTiger
Choosing the Right Database Server Hardware
Analyzing a Specific Query with explain()
Using the Profiler and explain() to Optimize a Query
Three-Step Compound Indexes By A. Jesse Jiryu Davis
Digression: How MongoDB Chooses an Index
Equality, Range Query, and Sort
Creating an Index in the Background with {background:true}
Creating an Index with a Unique Key {unique:true}
Creating Sparse Indexes with {sparse:true}
Using hint() to Force Using a Specific Index
Optimizing the Storage of Small Objects
Spelling Out MongoDB’s Replication Goals
Improving Durability/Reliability
Getting a Replica Set Member Up and Running
Adding a Server to a Replica Set
Configuring the Options for Replica Set Members
Connecting to a Replica Set from Your Application
Exploring the Need for Sharding
Partitioning Horizontal and Vertical Data
Partitioning Data Horizontally
Analyzing a Simple Sharding Scenario
Implementing Sharding with MongoDB
Setting Up a Sharding Configuration
Determining How You’re Connected
Listing the Status of a Sharded Cluster
18.220.157.151