Skip to main content

MongoDB - The Complete Developer's Guide

16h 28m 16s
English
Free

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!

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

Watch Online

0:00 0:00
#Lesson TitleDuration
1Introduction02:08
2What is MongoDB?05:37
3The Key MongoDB Characteristics (and how they differ from SQL Databases)02:56
4Understanding the MongoDB Ecosystem04:20
5General Setup Instructions & Installing MongoDB on macOS16:53
6Installing MongoDB on Windows08:11
7Installing the MongoDB Shell06:00
8Time To Get Started!05:38
9Shell vs Drivers03:30
10MongoDB + Clients: The Big Picture02:59
11Course Outline04:39
12How To Get The Most Out Of The Course02:31
13Module Introduction01:31
14Understanding Databases, Collections & Documents03:48
15The Shell & MongoDB Drivers for Different Languages02:41
16Creating Databases & Collections03:17
17Understanding JSON Data04:06
18Comparing JSON & BSON05:24
19Create, Read, Update, Delete (CRUD) & MongoDB05:38
20Finding, Inserting, Deleting & Updating Elements07:48
21Understanding "insertMany()"01:49
22Diving Deeper Into Finding Data03:56
23"update" vs "updateMany()"04:42
24Understanding "find()" & the Cursor Object07:31
25Understanding Projection03:39
26Embedded Documents & Arrays - The Theory01:57
27Working with Embedded Documents02:29
28Working with Arrays01:44
29Accessing Structured Data04:40
30Wrap Up02:48
31Module Introduction02:13
32Why Do We Use Schemas?03:58
33Structuring Documents07:44
34Data Types - An Overview06:24
35Data Types in Action12:16
36How to Derive your Data Structure - Requirements05:08
37Understanding Relations02:59
38One To One Relations - Embedded06:21
39One To One - Using References04:55
40One To Many - Embedded05:08
41One To Many - Using References04:05
42Many To Many - Embedded07:18
43Many To Many - Using References05:26
44Summarizing Relations02:19
45Using "lookUp()" for Merging Reference Relations04:37
46Planning the Example Exercise06:57
47Implementing the Example Exercise04:17
48Understanding Schema Validation02:58
49Adding Collection Document Validation09:08
50Changing the Validation Action03:44
51Wrap Up04:09
52Module Introduction01:02
53Finding Available Options02:16
54Setting "dbpath" & "logpath"04:42
55Exploring the MongoDB Options02:01
56MongoDB as a Background Service03:10
57Using a Config File03:03
58Shell Options & Help04:14
59Module Introduction00:51
60Exploring the MongoDB Compass05:51
61Module Introduction01:13
62Creating Documents - An Overview01:48
63Understanding "insert()" Methods06:11
64Working with Ordered Inserts07:48
65Understanding the "writeConcern"05:45
66The "writeConcern" in Practice04:10
67What is Atomicity?02:40
68Importing Data03:38
69Wrap Up02:39
70Module Introduction01:41
71Methods, Filters & Operators02:55
72Operators - An Overview03:03
73Query Selectors & Projection Operators01:17
74Understanding "findOne()" & "find()"04:33
75Working with Comparison Operators05:21
76Querying Embedded Fields & Arrays04:53
77Understanding "$in" and "$nin"02:38
78"$or" and "$nor"05:32
79Understanding the "$and" Operator05:05
80Using "$not"01:36
81Diving Into Element Operators05:31
82Working with "$type"02:53
83Understanding Evaluation Operators - "$regex"03:24
84Understanding Evaluation Operators - "$expr"09:38
85Diving Deeper Into Querying Arrays04:10
86Using Array Query Selectors - "$size"02:10
87Using Array Query Selectors - "$all"02:13
88Using Array Query Selectors - "$elemMatch"04:53
89Understanding Cursors02:49
90Applying Cursors06:03
91Sorting Cursor Results03:10
92Skipping & Limiting Cursor Results03:32
93Using Projection to Shape our Results04:03
94Using Projection in Arrays05:13
95Understanding "$slice"03:06
96Module Introduction01:02
97Updating Fields with "updateOne()", "updateMany()" and "$set"07:53
98Updating Multiple Fields with "$set"01:41
99Incrementing & Decrementing Values03:34
100Using "$min", "$max" and "$mul"03:16
101Getting Rid of Fields02:05
102Renaming Fields01:21
103Understanding "upsert()"04:02
104Updating Matched Array Elements06:57
105Updating All Array Elements06:28
106Finding & Updating Specific Fields05:36
107Adding Elements to Arrays04:47
108Removing Elements from Arrays02:35
109Understanding "$addToSet"01:19
110Wrap Up01:40
111Module Introduction00:32
112Understanding "deleteOne()" & "deleteMany()"04:09
113Deleting All Entries in a Collection02:01
114Module Introduction01:21
115What Are Indexes & Why Do We Use Them?04:19
116Adding a Single Field Index08:07
117Understanding Index Restrictions02:52
118Creating Compound Indexes07:15
119Using Indexes for Sorting02:26
120Understanding the Default Index01:00
121Configuring Indexes02:29
122Understanding Partial Filters06:08
123Applying the Partial Index03:38
124Understanding the Time-To-Live (TTL) Index03:57
125Query Diagnosis & Query Planning02:11
126Understanding Covered Queries03:35
127How MongoDB Rejects a Plan07:38
128Using Multi-Key Indexes08:16
129Understanding Text Indexes06:10
130Text Indexes & Sorting02:22
131Creating Combined Text Indexes02:55
132Using Text Indexes to Exclude Words00:55
133Setting the Default Language & Using Weights06:33
134Building Indexes07:41
135Wrap Up02:25
136Module Introduction00:54
137Adding GeoJSON Data04:52
138Running Geo Queries03:23
139Adding a Geospatial Index to Track the Distance02:53
140Adding Additional Locations03:35
141Finding Places Inside a Certain Area06:23
142Finding Out If a User Is Inside a Specific Area05:28
143Finding Places Within a Certain Radius05:39
144Wrap Up01:41
145Module Introduction01:35
146What is the Aggregation Framework?02:01
147Getting Started with the Aggregation Pipeline01:22
148Using the Aggregation Framework03:13
149Understanding the Group Stage05:57
150Diving Deeper Into the Group Stage03:13
151Working with $project09:59
152Turning the Location Into a geoJSON Object08:00
153Transforming the Birthdate03:49
154Using Shortcuts for Transformations01:26
155Understanding the $isoWeekYear Operator02:41
156$group vs $project00:56
157Pushing Elements Into Newly Created Arrays04:04
158Understanding the $unwind Stage02:51
159Eliminating Duplicate Values00:51
160Using Projection with Arrays03:04
161Getting the Length of an Array01:13
162Using the $filter Operator04:44
163Applying Multiple Operations to our Array07:32
164Understanding $bucket06:18
165Diving Into Additional Stages07:30
166Writing Pipeline Results Into a New Collection01:48
167Working with the $geoNear Stage05:17
168Wrap Up02:42
169Module Introduction00:55
170Number Types - An Overview06:29
171Understanding Programming Language Defaults03:34
172Working with int3205:18
173Working with int6406:33
174Doing Maths with Floats int32s & int64s06:58
175What's Wrong with Normal Doubles?04:21
176Working with Decimal 128bit04:15
177Wrap Up01:41
178Module Introduction04:24
179Understanding Role Based Access Control06:49
180Roles - Examples02:14
181Creating a User05:51
182Built-In Roles - An Overview05:41
183Assigning Roles to Users & Databases04:49
184Updating & Extending Roles to Other Databases05:07
185Adding SSL Transport Encryption10:22
186Encryption at REST01:26
187Wrap Up03:22
188Module Introduction01:53
189What Influences Performance?03:02
190Understanding Capped Collections05:06
191What are Replica Sets?04:37
192Understanding Sharding06:15
193Deploying a MongoDB Server02:26
194Using MongoDB Atlas09:18
195Backups & Setting Alerts in MongoDB Atlas01:28
196Connecting to our Cluster03:37
197Wrap Up01:59
198Module Introduction01:05
199What are Transactions?02:04
200A Typical Usecase02:19
201How Does a Transaction Work?07:43
202Module Introduction02:14
203Splitting Work Between the Driver & the Shell02:07
204Preparing our Project04:50
205Installing Visual Studio Code01:47
206Installing the Node.js Driver04:57
207Connecting Node.js & the MongoDB Cluster06:32
208Storing Products in the Database04:54
209Storing the Price as 128bit Decimal06:11
210Fetching Data From the Database06:24
211Creating a More Realistic Setup11:49
212Getting a Single Product03:21
213Editing & Deleting Products07:29
214Implementing Pagination04:59
215Adding an Index01:28
216Signing Users Up07:04
217Adding an Index to Make the Email Unique01:14
218Adding User Sign In05:19
219Wrap Up01:12
220Module Introduction01:43
221What is Stitch?07:24
222Preparations02:05
223Start Using Stitch04:34
224Adding Stitch to our App & Initializing It08:12
225Adding Authentication02:49
226Sending Data Access Rules03:59
227Fetching & Converting Data01:50
228Deleting Products03:03
229Finding a Single Product04:10
230Adding Products03:30
231Updating Products03:47
232Switching to User Email & Password Authentication01:55
233Adding User Sign Up & Confirmation06:33
234Adding User Login03:43
235Rules & Real Users01:49
236Functions & Triggers05:02
237Wrap Up00:57
238Course Roundup00:56

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Database Mastery: MongoDB

Database Mastery: MongoDB

Sources: jsmastery.pro, Adrian Hajdin
Enhance your backend development skills with the intensive Database Mastery: MongoDB course! This course is perfect for beginners and developers who...
11 minutes 58 seconds
MongoDB

MongoDB

Sources: Amigoscode (Nelson Djalo)
MongoDB is a very popular for any project. It's a no sql database which offers high performance and scalability. Having MongoDB in your skills set will set you
3 hours 3 minutes 57 seconds
Learn JavaScript: Full-Stack from Scratch

Learn JavaScript: Full-Stack from Scratch

Sources: udemy
Learn the incredibly popular and in demand JavaScript language. This course makes no assumptions of prior computer programming experience. We begin with the very basics and slow...
27 hours 6 minutes 45 seconds
Node.js, Express, MongoDB & More The Complete Bootcamp 2023

Node.js, Express, MongoDB & More The Complete Bootcamp 2023

Sources: udemy
Do you want to build fast and powerful back-end applications with JavaScript? Would you like to become a more complete and in-demand developer? Then Node.js is
42 hours 14 minutes 59 seconds
MongoDB Fundamentals

MongoDB Fundamentals

Sources: Andreas Kretz
Document-oriented databases are rapidly gaining popularity among NoSQL solutions. Working with JSON documents in MongoDB is convenient, flexible, and...
1 hour 23 minutes 19 seconds