MongoDB - The Complete Developer's Guide
Course description
MongoDB is one of the most important NoSQL databases you can work with these days. It's extremely popular and MongoDB developers are in high demand. No matter if you're building web applications, mobile applications or any other kind of application or if you're a data scientist - you'll need to work with data. Storing data, querying it efficiently and minimizing complexities whilst optimizing performance are crucial tasks.
Read more about the course
MongoDB makes working with data simple - it's built on a philosophy that prioritizes performance and efficiency.
In this course, you'll learn all about MongoDB from scratch. No prior MongoDB or database experience is required!
In detail, you'll learn:
... how to install and use MongoDB locally and in the cloud (MongoDB Atlas)
... how to perform CRUD (Create, Read, Update, Delete) operations on MongoDB databases
... how to filter for data efficiently
... how to work with both the Mongo Shell and drivers (e.g. Node.js driver)
... how to increase performance by using indexes (and how to use the right indexes!)
... how to use the amazing "Aggregation Framework" that's built into MongoDB
... what replica sets and sharding are
... how to use MongoDB Atlas - the cloud solution offered by MongoDB
... how to use the serverless platform (Stitch) offered by MongoDB
... and much more!
This course is a hands-on course - you'll learn by writing code/ commands. We'll work on a wide variety of example data and use-cases and by the end of the course, you'll have all the knowledge you need to work with MongoDB in your next project!
This course is for you, no matter which programming language you plan on using, you'll learn a uniform way of interacting with MongoDB that can be easily applied to any language.
This course is for you:
... if you're brand-new to MongoDB and databases in general
... if you got some basic database or even MongoDB experience - in this course, there are different entry points you can choose from!
... if you are a web or mobile app (or desktop app) developer who considers using MongoDB
... if you're working in a team that considers using MongoDB (or already does use it)
... if you are primarily using SQL-based databases so far and you want to explore the most popular NoSQL alternative
This course is NOT for you:
... if you're looking for a guide on administrating MongoDB servers => This course focuses on the commands/ queries you write, it's NOT an administration course. I will show (in detail) how to deploy a ready-to-use cloud MongoDB solution that follows best practices though.
Requirements:
NO prior knowledge on databases (of any kind) is required
General web development or mobile development knowledge will help you but is not a must-have
You can use any operating system - Windows, macOS, Linux, it'll all work!
- Developers or data scientists who plan on (or are already) working with MongoDB
- Everyone who's interested in NoSQL databases
- Both beginner and advanced MongoDB users who want to explore all the core features
What you'll learn:
- Use MongoDB to its full potential in future projects
- Write efficient and well-performing queries to fetch data in the format you need it
- Use all features MongoDB offers you to work with data efficiently
Watch Online
| # | Lesson Title | Duration |
|---|---|---|
| 1 | Introduction | 02:08 |
| 2 | What is MongoDB? | 05:37 |
| 3 | The Key MongoDB Characteristics (and how they differ from SQL Databases) | 02:56 |
| 4 | Understanding the MongoDB Ecosystem | 04:20 |
| 5 | General Setup Instructions & Installing MongoDB on macOS | 16:53 |
| 6 | Installing MongoDB on Windows | 08:11 |
| 7 | Installing the MongoDB Shell | 06:00 |
| 8 | Time To Get Started! | 05:38 |
| 9 | Shell vs Drivers | 03:30 |
| 10 | MongoDB + Clients: The Big Picture | 02:59 |
| 11 | Course Outline | 04:39 |
| 12 | How To Get The Most Out Of The Course | 02:31 |
| 13 | Module Introduction | 01:31 |
| 14 | Understanding Databases, Collections & Documents | 03:48 |
| 15 | The Shell & MongoDB Drivers for Different Languages | 02:41 |
| 16 | Creating Databases & Collections | 03:17 |
| 17 | Understanding JSON Data | 04:06 |
| 18 | Comparing JSON & BSON | 05:24 |
| 19 | Create, Read, Update, Delete (CRUD) & MongoDB | 05:38 |
| 20 | Finding, Inserting, Deleting & Updating Elements | 07:48 |
| 21 | Understanding "insertMany()" | 01:49 |
| 22 | Diving Deeper Into Finding Data | 03:56 |
| 23 | "update" vs "updateMany()" | 04:42 |
| 24 | Understanding "find()" & the Cursor Object | 07:31 |
| 25 | Understanding Projection | 03:39 |
| 26 | Embedded Documents & Arrays - The Theory | 01:57 |
| 27 | Working with Embedded Documents | 02:29 |
| 28 | Working with Arrays | 01:44 |
| 29 | Accessing Structured Data | 04:40 |
| 30 | Wrap Up | 02:48 |
| 31 | Module Introduction | 02:13 |
| 32 | Why Do We Use Schemas? | 03:58 |
| 33 | Structuring Documents | 07:44 |
| 34 | Data Types - An Overview | 06:24 |
| 35 | Data Types in Action | 12:16 |
| 36 | How to Derive your Data Structure - Requirements | 05:08 |
| 37 | Understanding Relations | 02:59 |
| 38 | One To One Relations - Embedded | 06:21 |
| 39 | One To One - Using References | 04:55 |
| 40 | One To Many - Embedded | 05:08 |
| 41 | One To Many - Using References | 04:05 |
| 42 | Many To Many - Embedded | 07:18 |
| 43 | Many To Many - Using References | 05:26 |
| 44 | Summarizing Relations | 02:19 |
| 45 | Using "lookUp()" for Merging Reference Relations | 04:37 |
| 46 | Planning the Example Exercise | 06:57 |
| 47 | Implementing the Example Exercise | 04:17 |
| 48 | Understanding Schema Validation | 02:58 |
| 49 | Adding Collection Document Validation | 09:08 |
| 50 | Changing the Validation Action | 03:44 |
| 51 | Wrap Up | 04:09 |
| 52 | Module Introduction | 01:02 |
| 53 | Finding Available Options | 02:16 |
| 54 | Setting "dbpath" & "logpath" | 04:42 |
| 55 | Exploring the MongoDB Options | 02:01 |
| 56 | MongoDB as a Background Service | 03:10 |
| 57 | Using a Config File | 03:03 |
| 58 | Shell Options & Help | 04:14 |
| 59 | Module Introduction | 00:51 |
| 60 | Exploring the MongoDB Compass | 05:51 |
| 61 | Module Introduction | 01:13 |
| 62 | Creating Documents - An Overview | 01:48 |
| 63 | Understanding "insert()" Methods | 06:11 |
| 64 | Working with Ordered Inserts | 07:48 |
| 65 | Understanding the "writeConcern" | 05:45 |
| 66 | The "writeConcern" in Practice | 04:10 |
| 67 | What is Atomicity? | 02:40 |
| 68 | Importing Data | 03:38 |
| 69 | Wrap Up | 02:39 |
| 70 | Module Introduction | 01:41 |
| 71 | Methods, Filters & Operators | 02:55 |
| 72 | Operators - An Overview | 03:03 |
| 73 | Query Selectors & Projection Operators | 01:17 |
| 74 | Understanding "findOne()" & "find()" | 04:33 |
| 75 | Working with Comparison Operators | 05:21 |
| 76 | Querying Embedded Fields & Arrays | 04:53 |
| 77 | Understanding "$in" and "$nin" | 02:38 |
| 78 | "$or" and "$nor" | 05:32 |
| 79 | Understanding the "$and" Operator | 05:05 |
| 80 | Using "$not" | 01:36 |
| 81 | Diving Into Element Operators | 05:31 |
| 82 | Working with "$type" | 02:53 |
| 83 | Understanding Evaluation Operators - "$regex" | 03:24 |
| 84 | Understanding Evaluation Operators - "$expr" | 09:38 |
| 85 | Diving Deeper Into Querying Arrays | 04:10 |
| 86 | Using Array Query Selectors - "$size" | 02:10 |
| 87 | Using Array Query Selectors - "$all" | 02:13 |
| 88 | Using Array Query Selectors - "$elemMatch" | 04:53 |
| 89 | Understanding Cursors | 02:49 |
| 90 | Applying Cursors | 06:03 |
| 91 | Sorting Cursor Results | 03:10 |
| 92 | Skipping & Limiting Cursor Results | 03:32 |
| 93 | Using Projection to Shape our Results | 04:03 |
| 94 | Using Projection in Arrays | 05:13 |
| 95 | Understanding "$slice" | 03:06 |
| 96 | Module Introduction | 01:02 |
| 97 | Updating Fields with "updateOne()", "updateMany()" and "$set" | 07:53 |
| 98 | Updating Multiple Fields with "$set" | 01:41 |
| 99 | Incrementing & Decrementing Values | 03:34 |
| 100 | Using "$min", "$max" and "$mul" | 03:16 |
| 101 | Getting Rid of Fields | 02:05 |
| 102 | Renaming Fields | 01:21 |
| 103 | Understanding "upsert()" | 04:02 |
| 104 | Updating Matched Array Elements | 06:57 |
| 105 | Updating All Array Elements | 06:28 |
| 106 | Finding & Updating Specific Fields | 05:36 |
| 107 | Adding Elements to Arrays | 04:47 |
| 108 | Removing Elements from Arrays | 02:35 |
| 109 | Understanding "$addToSet" | 01:19 |
| 110 | Wrap Up | 01:40 |
| 111 | Module Introduction | 00:32 |
| 112 | Understanding "deleteOne()" & "deleteMany()" | 04:09 |
| 113 | Deleting All Entries in a Collection | 02:01 |
| 114 | Module Introduction | 01:21 |
| 115 | What Are Indexes & Why Do We Use Them? | 04:19 |
| 116 | Adding a Single Field Index | 08:07 |
| 117 | Understanding Index Restrictions | 02:52 |
| 118 | Creating Compound Indexes | 07:15 |
| 119 | Using Indexes for Sorting | 02:26 |
| 120 | Understanding the Default Index | 01:00 |
| 121 | Configuring Indexes | 02:29 |
| 122 | Understanding Partial Filters | 06:08 |
| 123 | Applying the Partial Index | 03:38 |
| 124 | Understanding the Time-To-Live (TTL) Index | 03:57 |
| 125 | Query Diagnosis & Query Planning | 02:11 |
| 126 | Understanding Covered Queries | 03:35 |
| 127 | How MongoDB Rejects a Plan | 07:38 |
| 128 | Using Multi-Key Indexes | 08:16 |
| 129 | Understanding Text Indexes | 06:10 |
| 130 | Text Indexes & Sorting | 02:22 |
| 131 | Creating Combined Text Indexes | 02:55 |
| 132 | Using Text Indexes to Exclude Words | 00:55 |
| 133 | Setting the Default Language & Using Weights | 06:33 |
| 134 | Building Indexes | 07:41 |
| 135 | Wrap Up | 02:25 |
| 136 | Module Introduction | 00:54 |
| 137 | Adding GeoJSON Data | 04:52 |
| 138 | Running Geo Queries | 03:23 |
| 139 | Adding a Geospatial Index to Track the Distance | 02:53 |
| 140 | Adding Additional Locations | 03:35 |
| 141 | Finding Places Inside a Certain Area | 06:23 |
| 142 | Finding Out If a User Is Inside a Specific Area | 05:28 |
| 143 | Finding Places Within a Certain Radius | 05:39 |
| 144 | Wrap Up | 01:41 |
| 145 | Module Introduction | 01:35 |
| 146 | What is the Aggregation Framework? | 02:01 |
| 147 | Getting Started with the Aggregation Pipeline | 01:22 |
| 148 | Using the Aggregation Framework | 03:13 |
| 149 | Understanding the Group Stage | 05:57 |
| 150 | Diving Deeper Into the Group Stage | 03:13 |
| 151 | Working with $project | 09:59 |
| 152 | Turning the Location Into a geoJSON Object | 08:00 |
| 153 | Transforming the Birthdate | 03:49 |
| 154 | Using Shortcuts for Transformations | 01:26 |
| 155 | Understanding the $isoWeekYear Operator | 02:41 |
| 156 | $group vs $project | 00:56 |
| 157 | Pushing Elements Into Newly Created Arrays | 04:04 |
| 158 | Understanding the $unwind Stage | 02:51 |
| 159 | Eliminating Duplicate Values | 00:51 |
| 160 | Using Projection with Arrays | 03:04 |
| 161 | Getting the Length of an Array | 01:13 |
| 162 | Using the $filter Operator | 04:44 |
| 163 | Applying Multiple Operations to our Array | 07:32 |
| 164 | Understanding $bucket | 06:18 |
| 165 | Diving Into Additional Stages | 07:30 |
| 166 | Writing Pipeline Results Into a New Collection | 01:48 |
| 167 | Working with the $geoNear Stage | 05:17 |
| 168 | Wrap Up | 02:42 |
| 169 | Module Introduction | 00:55 |
| 170 | Number Types - An Overview | 06:29 |
| 171 | Understanding Programming Language Defaults | 03:34 |
| 172 | Working with int32 | 05:18 |
| 173 | Working with int64 | 06:33 |
| 174 | Doing Maths with Floats int32s & int64s | 06:58 |
| 175 | What's Wrong with Normal Doubles? | 04:21 |
| 176 | Working with Decimal 128bit | 04:15 |
| 177 | Wrap Up | 01:41 |
| 178 | Module Introduction | 04:24 |
| 179 | Understanding Role Based Access Control | 06:49 |
| 180 | Roles - Examples | 02:14 |
| 181 | Creating a User | 05:51 |
| 182 | Built-In Roles - An Overview | 05:41 |
| 183 | Assigning Roles to Users & Databases | 04:49 |
| 184 | Updating & Extending Roles to Other Databases | 05:07 |
| 185 | Adding SSL Transport Encryption | 10:22 |
| 186 | Encryption at REST | 01:26 |
| 187 | Wrap Up | 03:22 |
| 188 | Module Introduction | 01:53 |
| 189 | What Influences Performance? | 03:02 |
| 190 | Understanding Capped Collections | 05:06 |
| 191 | What are Replica Sets? | 04:37 |
| 192 | Understanding Sharding | 06:15 |
| 193 | Deploying a MongoDB Server | 02:26 |
| 194 | Using MongoDB Atlas | 09:18 |
| 195 | Backups & Setting Alerts in MongoDB Atlas | 01:28 |
| 196 | Connecting to our Cluster | 03:37 |
| 197 | Wrap Up | 01:59 |
| 198 | Module Introduction | 01:05 |
| 199 | What are Transactions? | 02:04 |
| 200 | A Typical Usecase | 02:19 |
| 201 | How Does a Transaction Work? | 07:43 |
| 202 | Module Introduction | 02:14 |
| 203 | Splitting Work Between the Driver & the Shell | 02:07 |
| 204 | Preparing our Project | 04:50 |
| 205 | Installing Visual Studio Code | 01:47 |
| 206 | Installing the Node.js Driver | 04:57 |
| 207 | Connecting Node.js & the MongoDB Cluster | 06:32 |
| 208 | Storing Products in the Database | 04:54 |
| 209 | Storing the Price as 128bit Decimal | 06:11 |
| 210 | Fetching Data From the Database | 06:24 |
| 211 | Creating a More Realistic Setup | 11:49 |
| 212 | Getting a Single Product | 03:21 |
| 213 | Editing & Deleting Products | 07:29 |
| 214 | Implementing Pagination | 04:59 |
| 215 | Adding an Index | 01:28 |
| 216 | Signing Users Up | 07:04 |
| 217 | Adding an Index to Make the Email Unique | 01:14 |
| 218 | Adding User Sign In | 05:19 |
| 219 | Wrap Up | 01:12 |
| 220 | Module Introduction | 01:43 |
| 221 | What is Stitch? | 07:24 |
| 222 | Preparations | 02:05 |
| 223 | Start Using Stitch | 04:34 |
| 224 | Adding Stitch to our App & Initializing It | 08:12 |
| 225 | Adding Authentication | 02:49 |
| 226 | Sending Data Access Rules | 03:59 |
| 227 | Fetching & Converting Data | 01:50 |
| 228 | Deleting Products | 03:03 |
| 229 | Finding a Single Product | 04:10 |
| 230 | Adding Products | 03:30 |
| 231 | Updating Products | 03:47 |
| 232 | Switching to User Email & Password Authentication | 01:55 |
| 233 | Adding User Sign Up & Confirmation | 06:33 |
| 234 | Adding User Login | 03:43 |
| 235 | Rules & Real Users | 01:49 |
| 236 | Functions & Triggers | 05:02 |
| 237 | Wrap Up | 00:57 |
| 238 | Course Roundup | 00:56 |
Comments
0 commentsWant to join the conversation?
Sign in to commentSimilar courses
Database Mastery: MongoDB
MongoDB
Learn JavaScript: Full-Stack from Scratch
Node.js, Express, MongoDB & More The Complete Bootcamp 2023