Curriculum
- 19 Sections
- 0 Lessons
- 45 Hours
Expanse all sectionsCollapse all sections
- Module 1: Introduction
- What is MongoDB?
- Characteristics of MongoDB
- Understanding the MongoDB Ecosystem
- General Setup Instruction and Installing MongoDB
- Installing MongoDB Shell
- Shell vs Drivers
0 - Module 2: Understanding the Basic & CRUD Operations
- Understanding Database
- Collections and Documents
- The Shell and MongoDB Drivers for Different Languages
- Creating Databases & Collections
- Understanding JSON Data
- Comparing JSON & BSON
- Create
- Read
- Update
- Delete (CRUD) & MongoDB
- Finding
- Inserting
- Deleting & Updating Elements
- Understanding "insertMany()"
- Diving Deeper Into Finding Data
- "update" vs "updateMany()"
- Understanding "find()"& the Cursor Object
- Understanding Projection
- Embedded Documents & Arrays - The Theory
- Working with Embedded Documents
- Working with Arrays
- Accessing Structured Data
0 - Module 3: Schemas and Relations
- Why Do We Use Schemas
- Structuring Documents
- Data Types - An Overview
- Data Types in Action
- Data Types & Limits
- How to Derive your Data Structure – Requirements
- Understanding Relations
- One To One Relations – Embedded
- One To One - Using References
- One To Many – Embedded
- One To Many - Using References
- Many To Many – Embedded
- Many To Many - Using References
- Summarizing Relations
- Using "lookUp()" for Merging Reference Relations
- Planning the Example Exercise
- Implementing the Example Exercise
- Understanding Schema Validation
- Adding Collection Document Validation
- Changing the Validation Action
0 - Module 4: Exploring The Shell and The Server
- Finding Available Options
- Settings “dbpath” and “logpath”
- Exploring the MongoDB Options
- MongoDB as a Background Service
- Using a Config File
- Shell Options & Help
0 - Module 5: Using the MongoDB Compass to Explore Data Visually
- Exploring the MongoDB Compass
0 - Module 6: Diving Into Create Operations
- Creating Documents - An Overview
- Understanding "insert()" Methods
- Working with Ordered Inserts
- Understanding the "writeConcern"
- The "writeConcern" in Practice
- What is Atomicity?
- Importing Data
- Wrap Up
0 - Module 7: Read Operations - A Closer Look
- Methods
- Filters & Operators
- Operators - An Overview
- Query Selectors & Projection Operators
- Understanding "findOne()"&"find()"
- Working with Comparison Operators
- Querying Embedded Fields & Arrays
- Understanding "$in" and "$nin"
- "$or" and "$nor"
- Understanding the "$and" Operator
- Using "$not"
- Diving Into Element Operators
- Working with "$type"
- Understanding Evaluation Operators - "$regex"
- Understanding Evaluation Operators - "$expr"
- Diving Deeper Into Querying Arrays
- Using Array Query Selectors - "$size"
- Using Array Query Selectors - "$all"
- Using Array Query Selectors - "$elemMatch"
- Understanding Cursors, Applying Cursors
- Sorting Cursor Results
- Skipping & Limiting Cursor Results
- Using Projection to Shape our Results
- Using Projection in Arrays
- Understanding "$slice"
0 - Module 8: Update Operations
- Updating Fields with "updateOne()"
- "updateMany()" and "$set"
- Updating Multiple Fields with "$set"
- Incrementing & Decrementing Values
- Using "$min"
- "$max" and "$mul"
- Getting Rid of Fields
- Renaming Fields
- Understanding "upsert()"
- Updating Matched Array Elements
- Updating All Array Elements
- Finding & Updating Specific Fields
- Adding Elements to Arrays
- Removing Elements from Arrays
- Understanding "$addToSet"
0 - Module 9: Delete Operations
- Understanding "deleteOne()"&"deleteMany()"
- Deleting All Entries in a Collection
0 - Module 10: Working with Index
- What Are Indexes & Why Do We Use Them?
- Adding a Single Field Index
- Understanding Index Restrictions
- Creating Compound Indexes
- Using Indexes for Sorting
- Understanding the Default Index
- Configuring Indexes
- Understanding Partial Filters
- Applying the Partial Index
- Understanding the Time-To-Live (TTL) Index
- Query Diagnosis & Query Planning
- Understanding Covered Queries
- How MongoDB Rejects a Plan
- Using Multi-Key Indexes
- Understanding Text Indexes
- Text Indexes & Sorting
- Creating Combined Text Indexes
- Using Text Indexes to Exclude Words
- Setting the Default Language & Using Weights
- Building Indexes
0 - Module 11: Working with Geospatial Data
- Adding GeoJSON Data
- Running Geo Queries
- Adding a Geospatial Index to Track the Distance
- Adding Additional Locations
- Finding Places Inside a Certain Area
- Finding Out If a User Is Inside a Specific Area
- Finding Places Within a Certain Radius
0 - Module 12: Understanding the Aggregation Framework
- What is the Aggregation Framework?
- Getting Started with the Aggregation Pipeline
- Using the Aggregation Framework
- Understanding the Group Stage
- Diving Deeper Into the Group Stage
- Working with $project
- Turning the Location Into a geoJSON Object
- Transforming the Birthdate
- Using Shortcuts for Transformations
- Understanding the $isoWeekYear Operator
- $group vs $project
- Pushing Elements Into Newly Created Arrays
- Understanding the $unwind Stage
- Eliminating Duplicate Values
- Using Projection with Arrays
- Getting the Length of an Array
- Using the $filter Operator
- Applying Multiple Operations to our Array
- Understanding $bucket
- Diving Into Additional Stages
- Writing Pipeline Results Into a New Collection
- Working with the $geoNear Stage
0 - Module 13: Understanding the Aggregation Framework
- Module Introduction
- Number Types - An Overview
- Understanding Programming Language Defaults
- Working with int32
- Working with int64
- Doing Maths with Floats int32s & int64s
- What's Wrong with Normal Doubles?
- Working with Decimal 128bit
0 - Module 14: MongoDB & Security
- Understanding Role Based Access Control
- Roles – Examples, Creating a User
- Built-In Roles - An Overview
- Assigning Roles to Users & Databases
- Updating & Extending Roles to Other Databases
- Adding SSL Transport Encryption
- Encryption at REST
0 - Module 15: Performance, Fault Tolerancy and Deployment
- What Influences Performance?
- Understanding Capped Collections
- What are Replica Sets?
- Understanding Sharding
- Deploying a MongoDB Server
- Using MongoDB Atlas
- Backups & Setting Alerts in MongoDB Atlas
- Connecting to our Cluster
0 - Module 16: Transaction
- What are Transactions?
- A Typical Usecase
- How Does a Transaction Work?
0 - Module 17: From Shell to Driver
- Splitting Work Between the Driver & the Shell
- Preparing our Project
- Installing Visual Studio Code
- Installing the Node.js Driver
- Connecting Node.js & the MongoDB Cluster
- Storing Products in the Database
- Storing the Price as 128bit Decimal
- Fetching Data From the Database
- Creating a More Realistic Setup
- Getting a Single Product
- Editing & Deleting Products
- Implementing Pagination
- Adding an Index
- Signing Users Up
- Adding an Index to Make the Email Unique
- Adding User Sign In
0 - Module 18: Introducing Stitch
- What is Stitch?
- Preparations
- Start Using Stitch
- Adding Stitch to our App & Initializing It
- Adding Authentication
- Sending Data Access Rules
- Fetching & Converting Data
- Deleting Products
- Finding a Single Product
- Adding Products
- Updating Products
- Switching to User Email & Password Authentication
- Adding User Sign Up & Confirmation
- Adding User Login
- Rules & Real Users
- Functions & Triggers
0 - Module 18: Project Work and Documentation0