This course is an intensive introduction to the premier open-source NoSQL document storage engine, MongoDB. Participants will be guided through some of Mongo’s most compelling use-cases while examining it’s feature set. Introduction to MongoDB employs a language-agnostic stance while exploring the features, capabilities and common application uses.
The course does not concentrate on middle-tier connectivity using any particular language or platform, instead utilizing Mongo’s own built-in JavaScript interpreter and focusing on learning Mongo querying using Mongo’s JSON-based query language, efficiently indexing Mongo collections and data processing with Mongo’s built-in map-reduce capabilities.

Audience: This course is designed both for the enterprise developer or database designer/developer who wants to get a broad and accurate introduction to MongoDB.
Course Duration: 3 Days
Prerequisites:

• Some familiarity with basic programming in almost any scripting or object-oriented language: command-line scripting, database programming or application programming
• Some basic familiarity with any SQL or NoSQL data store

Course Objectives:

After attending this course, the student will understand Mongo as a data store. They will also have familiarity and comfort with Mongo’s query and update languages as well as understand the common use-cases and architectures for Mongo in the enterprise.

Course Outline:

• What is MongoDB?
o The Current SQL/NoSQL Landscape
o Document-Oriented vs. Other Types of Storage
o Mongo’s Feature Set
o Common Use Cases
o Introduction to JSON

• Documents and Collections
o Creating Documents
o Managing Documents in Collections
o Iterating Over Documents

• Simple Queries
o Field Equality Tests
o Operators Available
o Projections
o Limiting Results and Paging

• Simple Updates and Deletes
o Field Updates
o Field Insertions and Removal
o Document Deletion

• More Complex Types of Queries
o Existential Field Values
o Aggregations and Groups
o Aggregations and Groups in Hierarchical Data

• Updates and Arrays
o Altering Array Field Elements
o Insertion to Array Fields
o Removing from Array Fields

• Indexing – Part One
o The Primary Index and The _Id Field
o Problems Requiring an Index
o Defining Secondary Indexes
o Compound Indexes

• Indexing – Part Two
o Index Selection
o Index Hints
o Covering Indexes
o Index Storage Size
o Indexes Effect Insertion and Update Speeds

• Mongo RESTful API
o CRUD Operations Through REST

• Map-Reduce
o Explanation of Map-Reduce
o Types of Logic That Can Be Expressed as Map-Reduce Declarations
o Mapping Documents
o Reducing Values

• Mongo Security
o Authorization and Securing Collections, Documents
o The Limits of Mongo’s Authorization Scheme
o Authentication
o Mongo in The Enterprise

• Mongo Replication and Sharding
o Configuring Replication
o Configuring Sharding
o Accessing Clustered Data from Client Apis
o Latency, Consistency in Replicated and Sharded Mongo