- An Overview of the Course
- MongoDB A Database for the Modern Web
- CRUD Operations in MongoDB
- Indexing and Aggregation
- Replication and Sharding
- Developing Java and Node JS Application with MongoDB
- Administration of MongoDB Cluster Operations
1. An Overview of the Course
- Introduction to the course
- Table of Contents
- Course Objectives
- Course Overview
- Value to Professionals and Organizations
2. MongoDB A Database for the Modern Web
- MongoDB-A Database for the Modern Web
- Introduction to MongoDB?
- JSON
- JSON Structure
- BSON
- MongoDB Structure
- Document Store Example
- MongoDB as a Document Database
- Transaction Management in MongoDB
- Easy Scaling
- Scaling Up vs. Scaling Out
- Vertical Scaling
- Horizontal Scaling
- Features of MongoDB
- Secondary Indexes
- Replication
- Memory Management
- Replica Set
- Auto Sharding
- Aggregation and MapReduce
- Collection and Database
- Schema Design and Modeling
- Reference Data Model
- Reference Data Model Example
- Embedded Data Model
- Embedded Data Model Example
- Data Types
- Data Types (contd.)
- Data Types (contd.)
- Core Servers of MongoDB
- MongoDB's Tools
- Installing MongoDB on Linux
- Installing MongoDB on Windows
- Starting MongoDB On Linux
- Starting MongoDB On Windows
- Use Cases
3. CRUD Operations in MongoDB
- CRUD Operations in MongoDB
- Objectives
- Data Modification in MongoDB
- Batch Insert in MongoDB
- Ordered Bulk Insert
- Performing Ordered Bulk Insert
- Unordered Bulk Insert
- Performing Un-ordered Bulk Insert
- Inserts: Internals and Implications
- Performing an Insert Operation
- Retrieving the documents
- Specify Equality Condition
- Retrieving Documents by Find Query
- $in, $or, and “AND” Conditions
- $or Operator
- Specify AND/OR Conditions
- Retrieving Documents by Using FindOne, AND/OR Conditions
- Regular Expression
- Array Exact Match
- Array Projection Operators
- Retrieving Documents for Array Fields
- $Where Query
- Cursor
- Retrieving Documents Using Cursor
- Pagination
- Pagination: Avoiding Larger Skips
- Advance query option
- Update Operation
- Updating Documents in MongoDB
- $SET
- Updating Embedded Documents in MongoDB
- Updating Multiple Documents in MongoDB
- $Unset and $inc Modifiers
- $inc modifier to increment and decrement
- Replacing Existing Document with New Document
- $Push and $addToSet
- Positional Array Modification
- Adding Elements into Array Fields
- Adding Elements to Array Fields Using AddToSet
- Performing AddToSet
- Upsert
- Removing Documents
- Performing Upsert and Remove Operation
4. Indexing and Aggregation
- Indexing and Aggregation
- Objectives
- Introduction to Indexing
- Types of Index
- Properties of Index
- Single Field Index
- Single Field Index on Embedded Document
- Compound Indexes
- Index Prefixes
- Sort Order
- Ensure Indexes Fit RAM
- Multi-Key Indexes
- Compound Multi-Key Indexes
- Hashed Indexes
- TTL Indexes
- Unique Indexes
- Sparse Indexes
- Demo—Create Compound, Sparse, and Unique Indexes
- Text Indexes
- Demo—Create Single Field and Text Index
- Text Search
- Index Creation
- Index Creation on Replica Set
- Remove Indexes
- Modify Indexes
- DemoDrop and Index from a Collection
- Rebuild Indexes
- Listing Indexes
- DemoRetrieve Indexes for a Collection and Database
- Measure Index Use
- Demo—Use Mongo Shell Methods to Monitor Indexes
- Control Index Use
- Demo—Use the Explain, $Hint and $Natural Operators to Creation
- Index Use Reporting
- Geospatial Index
- DemoCreate Geospatial Index
- MongoDBs Geospatial Query Operators
- Demo—Use Geospatial Index in a Query
- $GeoWith Operator
- Proximity Queries in MongoDB Aggregation
- Pipeline Operators and Indexes
- Aggregate Pipeline Stages
- The Aggregation Example
- Demo—Use Aggregate Function
- MapReduce
- Demo—Use MapReduce in MongoDB
- Aggregation Operations
- Demo—Use Distinct and Count Methods
- Aggregation Operations (contd.)
- Demo—Use the Group Function
5. Replication and Sharding
- Replication and Sharding
- Objectives
- Introduction to Replication
- Master-Slave Replication
- Replica Set in MongoDB
- Automatic Failover
- Replica Set Members
- Priority 0 Replica Set Members
- Hidden Replica Set Members
- Delayed Replica Set Members
- Demo—Start a Replica Set
- Write Concern
- Write Concern Levels
- Write Concern for a Replica Set
- Modify Default Write Concern
- Read Preference
- Read Preference Modes
- Blocking for Replication
- Tag Set
- Configure Tag Sets for Replica set
- Replica Set Deployment Strategies
- Replica Set Deployment Strategies (contd.)
- Replica Set Deployment Patterns
- Oplog File
- Replication State and Local Database
- Replication Administration
- Demo—Check a Replica Set Status
- Sharding
- When to Use Sharding?
- What is a Shard?
- What is a Shard Key
- Choosing a Shard Key
- Ideal Shard Key
- Range-Based Shard Key
- Hash-Based Sharding
- Impact of Shard Keys on Cluster Operation
- Production Cluster Architecture
- Config Server Availability
- Production Cluster Deployment
- Deploy a Sharded Cluster
- Add Shards to a Cluster
- Demo—Create a Sharded Cluster
- Enable Sharding for Database
- Enable Sharding for Collection
- Enable Sharding for Collection (contd.
- Maintaining a Balanced Data Distribution
- Splitting
- Chunk Size
- Special Chunk Type
- Shard Balancing
- Shard Balancing (contd.)
- Customized Data Distribution with Tag Aware Sharding
- Tag Aware Sharding
- Add Shard Tags
- Remove Shard Tags
6. Developing Java and Node JS Application with MongoDB
- Developing Java and Node JS Application with MongoDB Objectives Capped
- Collection Capped Collection Creation Capped Collection Creation (contd.)
- Demo—Create a Capped Collection in MongoDB
- Capped Collection Restriction
- TTL Collection Features Demo—Create TTL Indexes
- GridFS GridFS Collection Demo—Create GridFS in MongoDB Java Application
- MongoDB Drivers and Client Libraries
- Develop Java Application with MongoDB
- Connecting to MonogDB from Java Program
- Create Collection From Java Program
- Insert Documents From Java Program
- Insert Documents Using Java Code Example
- Demo—Insert a Document Using Java
- Retrieve Documents Using Java Code
- Demo—Retrieve Document Using Java
- Update Documents Using Java Code Demo—
- Update Document Using Java
- Delete Documents Using Java Code
- Demo—Delete Document Using Java
- Store Images Using GridFS API
- Retrieve Images Using GridFS API
- Remove Image Using GridFS API
- Connection Creation Using Node JS
- Insert Operations Using Node JS
- Demo—Perform CRUD Operation in Node JS
- Demo—Perform Insert and Retrieve Operations Using Node JS
- Update Operations Using Node JS Retrieve
- Documents Using Node JS
- Using DB Cursor to Retrieve Documents
- Mongoose ODM Module in Node JS
- Defining Schema Using Mongoose
- Demo—Use Mongoose to Define Schema
- Demo—How to Run Node JS Using Mongoose
7. Administration of MongoDB Cluster Operations
- Administration of MongoDB Cluster Operations
- Objectives
- Capped Collection
- Capped Collection Creation Capped Collection Creation (contd.)
- Demo-Create a Capped Collection in MongoDB
- Capped Collection Restriction
- TTL Collection Features
- Demo-Create TTL Indexes
- Grid FS
- Grid FS Collection
- Demo-Create GridFS in MongoDB Java Application
- Memory-Mapped Files
- Journaling Mechanics
- Storage Engines MMAPv1 Storage Engine
- WiredTiger Storage Engine
- WiredTiger Compression Support
- Power of 2-Sized Allocations
- No Padding Allocation Strategy
- Diagnosing Performance Issues
- Demo-Monitor Performance in MongoDB
- Optimization Strategies for MongoDB
- Configure Tag Sets for Replica Set
- Optimizing the Query Performance
- Monitor the Strategies for MongoDB
- About the MongoDB Utilities
- The MongoDB Commands
- About the MongoDB Management service (MMS)
- Data Backup Strategies in MongoDB
- Copying Underlying Data Files
- Backup with MongoDump
- Fsync and Lock
- MongoDB Ops Manager Backup Software
- Security Strategies in MongoDB
- Authentication Implementation in MongoDB
- Authentication in a Replica set
- Authentication on Sharded Clusters
- Authorization
- End-to-End Auditing for Compliance