Course Overview
TOPScheduled Classes
TOPWhat You'll Learn
TOPThis 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
Need different skills or topics? If your team requires different topics or tools, additional skills or custom approach, this course may be further adjusted to accommodate. We offer database, full stack, development, security and other related topics that may be blended with this course for a track that best suits your needs.
Outline
TOPPlease note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We will work with you to tune this course and level of coverage to target the skills you need most. Course agenda, topics and labs are subject to adjust during live delivery in response to student skill level, interests and participation.
Day 1
Storage Basics
- What is a Storage Engine?
- WiredTiger Storage Engine
- In-Memory Storage Engine
- Encrypted Storage Engine
MongoDB Document Model
- JSON and BSON
- MongoDB Data Types
MongoDB Setup
- Lab: Atlas Setup / Local MongoDB Setup
CRUD Basics
- Insert Command
- Find Command
- Query Operators
- Lab: Finding Documents
- Remove Command
- Updating Documents
- Lab: Updating Documents
CRUD Advanced
- Bulk Writes
- Retryable Writes
- Find and Modify
- Transactions
Performance Basics
- Indexes
- Lab: Creating Indexes
- Lab: Using explain()
Aggregation Basics
- Aggregation Pipeline Concepts
- Aggregation Pipeline Stages
- Aggregation Pipeline Expressions
- Lab: Writing Aggregation Queries
Day 2
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
Replication Basics
- MongoDB Replica Sets
- Replica Set Use Cases
- Replication Mechanics
Replication Advanced
- Using Write Concern to Tune Durability Semantics
- Using Read Concern to Tune Read Isolation
- Using Read Preference
- Replica Set Tag Sets
Sharding Basics
- Sharding Concepts
- When to Shard
- What is a Shard Key?
- Zoned Sharding / MongoDB Atlas Global Clusters
Sharding Advanced
- Components of a Sharded Cluster
- Sharding Mechanics
- Choosing a Good Shard Key
Day 3
Schema Design
- Schema Design Core Concepts
- Common Patterns
- Lab: Data Model for an E-Commerce Site
Security Basics
- Authentication & Authorization
- Lab: Creating an Admin User
- Lab: Creating a readWrite User
- Network Encryption
- Encryption at Rest
- Auditing
Application Development and Drivers
- Application Development with MongoDB Drivers
- Lab: Driver Tutorial
Performance Advanced
- Designing Compound Indexes
- Indexing Arrays
- Covered Queries
- Using hint() and Index Filters
Prerequisites
TOPThis 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.
Who Should Attend
TOPThis 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.