Skip to main content
CF

MongoDB - The Complete Developer's Guide

16h 28m 16s
English
Free

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.

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!

Who this course is for:
  • 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

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 238 lessons

  • Space or K: play or pause
  • J: rewind 10 seconds
  • L: forward 10 seconds
  • Left Arrow: rewind 5 seconds
  • Right Arrow: forward 5 seconds
  • Up Arrow: volume up
  • Down Arrow: volume down
  • M: mute or unmute
  • F: toggle fullscreen
  • T: toggle theater mode
  • I: toggle mini player
  • 0 to 9: seek to 0 to 90 percent of the video
  • Shift plus N: next video
  • Shift plus P: previous video
0:00 0:00
#Lesson TitleDuration
1Introduction 02:08
2What is MongoDB? 05:37
3The Key MongoDB Characteristics (and how they differ from SQL Databases) 02:56
4Understanding the MongoDB Ecosystem 04:20
5General Setup Instructions & Installing MongoDB on macOS 16:53
6Installing MongoDB on Windows 08:11
7Installing the MongoDB Shell 06:00
8Time To Get Started! 05:38
9Shell vs Drivers 03:30
10MongoDB + Clients: The Big Picture 02:59
11Course Outline 04:39
12How To Get The Most Out Of The Course 02:31
13Module Introduction 01:31
14Understanding Databases, Collections & Documents 03:48
15The Shell & MongoDB Drivers for Different Languages 02:41
16Creating Databases & Collections 03:17
17Understanding JSON Data 04:06
18Comparing JSON & BSON 05:24
19Create, Read, Update, Delete (CRUD) & MongoDB 05:38
20Finding, Inserting, Deleting & Updating Elements 07:48
21Understanding "insertMany()" 01:49
22Diving Deeper Into Finding Data 03:56
23"update" vs "updateMany()" 04:42
24Understanding "find()" & the Cursor Object 07:31
25Understanding Projection 03:39
26Embedded Documents & Arrays - The Theory 01:57
27Working with Embedded Documents 02:29
28Working with Arrays 01:44
29Accessing Structured Data 04:40
30Wrap Up 02:48
31Module Introduction 02:13
32Why Do We Use Schemas? 03:58
33Structuring Documents 07:44
34Data Types - An Overview 06:24
35Data Types in Action 12:16
36How to Derive your Data Structure - Requirements 05:08
37Understanding Relations 02:59
38One To One Relations - Embedded 06:21
39One To One - Using References 04:55
40One To Many - Embedded 05:08
41One To Many - Using References 04:05
42Many To Many - Embedded 07:18
43Many To Many - Using References 05:26
44Summarizing Relations 02:19
45Using "lookUp()" for Merging Reference Relations 04:37
46Planning the Example Exercise 06:57
47Implementing the Example Exercise 04:17
48Understanding Schema Validation 02:58
49Adding Collection Document Validation 09:08
50Changing the Validation Action 03:44
51Wrap Up 04:09
52Module Introduction 01:02
53Finding Available Options 02:16
54Setting "dbpath" & "logpath" 04:42
55Exploring the MongoDB Options 02:01
56MongoDB as a Background Service 03:10
57Using a Config File 03:03
58Shell Options & Help 04:14
59Module Introduction 00:51
60Exploring the MongoDB Compass 05:51
61Module Introduction 01:13
62Creating Documents - An Overview 01:48
63Understanding "insert()" Methods 06:11
64Working with Ordered Inserts 07:48
65Understanding the "writeConcern" 05:45
66The "writeConcern" in Practice 04:10
67What is Atomicity? 02:40
68Importing Data 03:38
69Wrap Up 02:39
70Module Introduction 01:41
71Methods, Filters & Operators 02:55
72Operators - An Overview 03:03
73Query Selectors & Projection Operators 01:17
74Understanding "findOne()" & "find()" 04:33
75Working with Comparison Operators 05:21
76Querying Embedded Fields & Arrays 04:53
77Understanding "$in" and "$nin" 02:38
78"$or" and "$nor" 05:32
79Understanding the "$and" Operator 05:05
80Using "$not" 01:36
81Diving Into Element Operators 05:31
82Working with "$type" 02:53
83Understanding Evaluation Operators - "$regex" 03:24
84Understanding Evaluation Operators - "$expr" 09:38
85Diving Deeper Into Querying Arrays 04:10
86Using Array Query Selectors - "$size" 02:10
87Using Array Query Selectors - "$all" 02:13
88Using Array Query Selectors - "$elemMatch" 04:53
89Understanding Cursors 02:49
90Applying Cursors 06:03
91Sorting Cursor Results 03:10
92Skipping & Limiting Cursor Results 03:32
93Using Projection to Shape our Results 04:03
94Using Projection in Arrays 05:13
95Understanding "$slice" 03:06
96Module Introduction 01:02
97Updating Fields with "updateOne()", "updateMany()" and "$set" 07:53
98Updating Multiple Fields with "$set" 01:41
99Incrementing & Decrementing Values 03:34
100Using "$min", "$max" and "$mul" 03:16
101Getting Rid of Fields 02:05
102Renaming Fields 01:21
103Understanding "upsert()" 04:02
104Updating Matched Array Elements 06:57
105Updating All Array Elements 06:28
106Finding & Updating Specific Fields 05:36
107Adding Elements to Arrays 04:47
108Removing Elements from Arrays 02:35
109Understanding "$addToSet" 01:19
110Wrap Up 01:40
111Module Introduction 00:32
112Understanding "deleteOne()" & "deleteMany()" 04:09
113Deleting All Entries in a Collection 02:01
114Module Introduction 01:21
115What Are Indexes & Why Do We Use Them? 04:19
116Adding a Single Field Index 08:07
117Understanding Index Restrictions 02:52
118Creating Compound Indexes 07:15
119Using Indexes for Sorting 02:26
120Understanding the Default Index 01:00
121Configuring Indexes 02:29
122Understanding Partial Filters 06:08
123Applying the Partial Index 03:38
124Understanding the Time-To-Live (TTL) Index 03:57
125Query Diagnosis & Query Planning 02:11
126Understanding Covered Queries 03:35
127How MongoDB Rejects a Plan 07:38
128Using Multi-Key Indexes 08:16
129Understanding Text Indexes 06:10
130Text Indexes & Sorting 02:22
131Creating Combined Text Indexes 02:55
132Using Text Indexes to Exclude Words 00:55
133Setting the Default Language & Using Weights 06:33
134Building Indexes 07:41
135Wrap Up 02:25
136Module Introduction 00:54
137Adding GeoJSON Data 04:52
138Running Geo Queries 03:23
139Adding a Geospatial Index to Track the Distance 02:53
140Adding Additional Locations 03:35
141Finding Places Inside a Certain Area 06:23
142Finding Out If a User Is Inside a Specific Area 05:28
143Finding Places Within a Certain Radius 05:39
144Wrap Up 01:41
145Module Introduction 01:35
146What is the Aggregation Framework? 02:01
147Getting Started with the Aggregation Pipeline 01:22
148Using the Aggregation Framework 03:13
149Understanding the Group Stage 05:57
150Diving Deeper Into the Group Stage 03:13
151Working with $project 09:59
152Turning the Location Into a geoJSON Object 08:00
153Transforming the Birthdate 03:49
154Using Shortcuts for Transformations 01:26
155Understanding the $isoWeekYear Operator 02:41
156$group vs $project 00:56
157Pushing Elements Into Newly Created Arrays 04:04
158Understanding the $unwind Stage 02:51
159Eliminating Duplicate Values 00:51
160Using Projection with Arrays 03:04
161Getting the Length of an Array 01:13
162Using the $filter Operator 04:44
163Applying Multiple Operations to our Array 07:32
164Understanding $bucket 06:18
165Diving Into Additional Stages 07:30
166Writing Pipeline Results Into a New Collection 01:48
167Working with the $geoNear Stage 05:17
168Wrap Up 02:42
169Module Introduction 00:55
170Number Types - An Overview 06:29
171Understanding Programming Language Defaults 03:34
172Working with int32 05:18
173Working with int64 06:33
174Doing Maths with Floats int32s & int64s 06:58
175What's Wrong with Normal Doubles? 04:21
176Working with Decimal 128bit 04:15
177Wrap Up 01:41
178Module Introduction 04:24
179Understanding Role Based Access Control 06:49
180Roles - Examples 02:14
181Creating a User 05:51
182Built-In Roles - An Overview 05:41
183Assigning Roles to Users & Databases 04:49
184Updating & Extending Roles to Other Databases 05:07
185Adding SSL Transport Encryption 10:22
186Encryption at REST 01:26
187Wrap Up 03:22
188Module Introduction 01:53
189What Influences Performance? 03:02
190Understanding Capped Collections 05:06
191What are Replica Sets? 04:37
192Understanding Sharding 06:15
193Deploying a MongoDB Server 02:26
194Using MongoDB Atlas 09:18
195Backups & Setting Alerts in MongoDB Atlas 01:28
196Connecting to our Cluster 03:37
197Wrap Up 01:59
198Module Introduction 01:05
199What are Transactions? 02:04
200A Typical Usecase 02:19
201How Does a Transaction Work? 07:43
202Module Introduction 02:14
203Splitting Work Between the Driver & the Shell 02:07
204Preparing our Project 04:50
205Installing Visual Studio Code 01:47
206Installing the Node.js Driver 04:57
207Connecting Node.js & the MongoDB Cluster 06:32
208Storing Products in the Database 04:54
209Storing the Price as 128bit Decimal 06:11
210Fetching Data From the Database 06:24
211Creating a More Realistic Setup 11:49
212Getting a Single Product 03:21
213Editing & Deleting Products 07:29
214Implementing Pagination 04:59
215Adding an Index 01:28
216Signing Users Up 07:04
217Adding an Index to Make the Email Unique 01:14
218Adding User Sign In 05:19
219Wrap Up 01:12
220Module Introduction 01:43
221What is Stitch? 07:24
222Preparations 02:05
223Start Using Stitch 04:34
224Adding Stitch to our App & Initializing It 08:12
225Adding Authentication 02:49
226Sending Data Access Rules 03:59
227Fetching & Converting Data 01:50
228Deleting Products 03:03
229Finding a Single Product 04:10
230Adding Products 03:30
231Updating Products 03:47
232Switching to User Email & Password Authentication 01:55
233Adding User Sign Up & Confirmation 06:33
234Adding User Login 03:43
235Rules & Real Users 01:49
236Functions & Triggers 05:02
237Wrap Up 00:57
238Course Roundup 00:56

Related courses

Frequently asked questions

What is MongoDB - The Complete Developer's Guide about?
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…
Who teaches this course?
It is taught by Udemy. You can find more courses by this instructor on the corresponding source page.
How long is the course?
It contains 238 lessons with a total runtime of 16 hours 28 minutes. Every lesson is available to watch online at your own pace.
Is it free to watch?
Yes — this is a free online course on CourseFlix. You can watch every lesson without a paid subscription.
Where can I watch it online?
The course is available to watch online on CourseFlix at https://courseflix.net/course/mongodb-the-complete-developer-s-guide. The page hosts every lesson with the integrated video player; no download is required.