TTDB4683: Introduction to MongoDB for Developers
About this Course
Geared for experienced developers, Introduction to MongoDB for Developers is a comprehensive course that provides you with hands-on experience with the MongoDB query language, aggregation framework, data modeling, indexes, drivers, basic performance tuning, high availability and scaling. Throughout the course, you’ll explore the MongoDB Atlas database environment in detail, gaining job-ready skills you can put right to work after class.
Audience Profile
This introductory-level course is for experienced application developers new to MongoDB. Students should have prior programming background, and be comfortable working with Linux.
At Course Completion
This course is approximately 50% hands-on lab to lecture ratio, combining engaging expert lessons, demos and group discussions with real-world, skills-focused machine-based labs and exercises. Working in a hands-on learning environment, guided by our expert team, you’ll explore:
· Storage Basics
· MongoDB Document Model
· MongoDB Setup
· CRUD: Basics through Advanced Concepts
· Performance: Basics through Advanced Concepts
· Aggregation: Basics through Advanced Concepts
· Replication: Basics through Advanced Concepts
· Sharding: Basics through Advanced Concepts
· Schema Design
· Security Basics, Authentication & Authorization
· Application Development and Drivers
Outline
Day 1
1. Storage Basics
· What is a Storage Engine?
· WiredTiger Storage Engine
· In-Memory Storage Engine
· Encrypted Storage Engine
2. MongoDB Document Model
· JSON and BSON
· MongoDB Data Types
3. MongoDB Setup
· Lab: Atlas Setup / Local MongoDB Setup
4. CRUD Basics
· Insert Command
· Find Command
· Query Operators
· Lab: Finding Documents
· Remove Command
· Updating Documents
· Lab: Updating Documents
5. CRUD Advanced
· Bulk Writes
· Retryable Writes
· Find and Modify
· Transactions
6. Performance Basics
· Indexes
· Lab: Creating Indexes
· Lab: Using explain()
7. Aggregation Basics
· Aggregation Pipeline Concepts
· Aggregation Pipeline Stages
· Aggregation Pipeline Expressions
· Lab: Writing Aggregation Queries
Day 2
8. Aggregation Advanced
· $lookup stage
· $graphLookup stage
· Lab: Using $graphLookup
· $expr operator
· Lab: Using $expr
· Faceted Search
· Type Conversions
· Advanced Expression Operators
· Date Expression Operators
· Expression Variables
· Aggregation Pipeline Optimizations
· Aggregation in a Sharded Cluster
9. Replication Basics
· MongoDB Replica Sets
· Replica Set Use Cases
· Replication Mechanics
10. Replication Advanced
· Using Write Concern to Tune Durability Semantics
· Using Read Concern to Tune Read Isolation
· Using Read Preference
· Replica Set Tag Sets
11. Sharding Basics
· Sharding Concepts
· When to Shard
· What is a Shard Key?
· Zoned Sharding / MongoDB Atlas Global Clusters
12. Sharding Advanced
· Components of a Sharded Cluster
· Sharding Mechanics
· Choosing a Good Shard Key
Day 3
13. Schema Design
· Schema Design Core Concepts
· Common Patterns
· Lab: Data Model for an E-Commerce Site
14. Security Basics
· Authentication & Authorization
· Lab: Creating an Admin User
· Lab: Creating a readWrite User
· Network Encryption
· Encryption at Rest
· Auditing
15. Application Development and Drivers
· Application Development with MongoDB Drivers
· Lab: Driver Tutorial
16. Performance Advanced
· Designing Compound Indexes
· Indexing Arrays
· Covered Queries
· Using hint() and Index Filters
Prerequisites
This introductory-level course is for experienced application developers new to MongoDB. In order to gain the most from this course, you should have:
· Basic programming experience. Course examples leverage basic Java syntax, so experience with Java or another OO language will be helpful.
· Prior experience working with databases (Such as MySQL, etc.)
· Experience working in Linux and / or be comfortable working from the command line.