Course Overview:
This workshop teaches participants how to use the MongoDB open-source NoSQL document database. Attendees learn Mongo’s most compelling use cases and master the fundamentals of Mongo’s features.
Course Objectives:
- Understand Mongo as a data store
- Be comfortable with Mongo’s query and update languages
- Work with the common use-cases and architectures of Mongo
- Use Mongo’s built-in JavaScript interpreter
- Query Mongo using Mongo’s JSON-based query language
- Index Mongo collections
- Handle data with Mongo’s built-in MapReduce capabilities.
Target Audience:
- A web developer who wants to build data-intensive scalable applications using Node.js
Course Duration:
- 2 Days
Course Content:
Introduction
What is MongoDB?
- The current SQL/NoSQL landscape
- Document-oriented vs. other types of storage
- Mongo’s features
- Common use-cases
- Introduction to JSON
Documents and Collections
- Creating documents
- Managing documents in collections
- Iterating over documents
Simple Queries
- Field equality tests
- Operators available
- Projections
- Limiting results and paging
Simple Updates and Deletes
- Field updates
- Field insertions and removal
- Document deletion
More Complex Types of Queries
- Existential field values
- Aggregations and groups
- Aggregations and groups in hierarchical data
Updates and Arrays
- Altering array field elements
- Insertion to array fields
- Removing from array fields
Indexing Basics
- The primary index and the _id field
- Problems requiring an index
- Defining secondary indexes
- Compound indexes
Advanced Indexing
- Index selection
- Index hints
- Covering indexes
- Index storage size
- Indexes effect insertion and update speeds
Mongo RESTful API
- CRUD operations through REST
MapReduce
- Explanation of MapReduce
- Types of logic that can be expressed as MapReduce declarations
- Mapping documents
- Reducing values
Mongo Security
- Authorization and securing collections, documents
- The limits of Mongo’s authorization scheme
- Authentication
- Mongo in the enterprise
Mongo Replication and Sharding
- Configuring replication
- Configuring sharding
- Accessing clustered data from client APIs
- Latency and consistency in replicated and sharded Mongo