MongoDB - The Complete Developer's Guide 2020
4.6 (7,872 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
53,245 students enrolled

MongoDB - The Complete Developer's Guide 2020

Master MongoDB Development for Web & Mobile Apps. CRUD Operations, Indexes, Aggregation Framework - All about MongoDB!
Bestseller
4.6 (7,872 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
53,245 students enrolled
Last updated 3/2020
English
English, French [Auto-generated], 7 more
  • German [Auto-generated]
  • Indonesian [Auto-generated]
  • Italian [Auto-generated]
  • Polish [Auto-generated]
  • Portuguese [Auto-generated]
  • Romanian [Auto-generated]
  • Spanish [Auto-generated]
Current price: $114.99 Original price: $164.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 17 hours on-demand video
  • 27 articles
  • 49 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
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
Course content
Expand all 263 lectures 17:16:45
+ Introduction
12 lectures 46:05

Welcome to the course! Let me introduce myself and give you a rough overview of the course!

Preview 02:07

Let's dive into the most important question: What is MongoDB? What is it all about? MongoDB is a NoSQL database and in this lecture, we'll explore why it's awesome!

Preview 05:36

Learning alone is absolutely fine but finding learning partners might be a nice thing, too. Our learning community is a great place to learn and grow together - of course it's 100% free and optional!

Join our Online Learning Community
00:21

MongoDB has a couple of key characteristics that set it apart from other databases - let's explore which characteristics these are.

Preview 02:55

MongoDB is more than just a database engine - it's a company and a rich ecosystem of tools. In this lecture, you'll get a thorough overview of all the different pieces that make up MongoDB.

Preview 04:19

Let's get started and let's do so by installing MongoDB on our system and spinning up our on database server. In this lecture, you'll get a detailed step-by-step guide on how that works.

Preview 10:35

Got problems with the installation? Stuck? Check out this lecture for some common issues + solutions.

MongoDB Installation FAQ + Support
01:00

With the MongoDB tools installed, it's time to get started. Let's spin up a MongoDB server (on our local machine) and connect to it!

Preview 05:37

When it comes to connecting to a MongoDB database, you got various options, most importantly: The local shell or drivers for different programming languages. Let me explain the differences.

Preview 03:29

We learned about a lot of different pieces that work together - here's a big picture that puts everything into context.

Preview 02:58

We know what MongoDB is - but what's in this course? In this lecture, you'll get an overview of the course content and the order in which it is presented.

Preview 04:38

It's important to me that you succeed, hence in this lecture, I'll share some best practices regarding how to use the various course resources.

Preview 02:30
+ Understanding the Basics & CRUD Operations
19 lectures 01:09:14
Module Introduction
01:30
Understanding Databases, Collections & Documents
03:47
The Shell & MongoDB Drivers for Different Languages
02:40
Creating Databases & Collections
03:16
Understanding JSON Data
04:05
Comparing JSON & BSON
05:23
Create, Read, Update, Delete (CRUD) & MongoDB
05:37
Finding, Inserting, Deleting & Updating Elements
07:47
Understanding "insertMany()"
01:48
Diving Deeper Into Finding Data
03:55
"update" vs "updateMany()"
04:41
Understanding "find()" & the Cursor Object
07:30
Understanding Projection
03:38
Embedded Documents & Arrays - The Theory
01:56
Working with Embedded Documents
02:28
Working with Arrays
01:43
Accessing Structured Data
04:39
We already did our first steps in MongoDB - time to practice what we learned so far in this assignment!
Time to Practice - The Basics & CRUD Operations
1 question
Wrap Up
02:47
Useful Resources & Links
00:04
+ Schemas & Relations: How to Structure Documents
24 lectures 01:53:06
Resetting Your Database
00:13
Module Introduction
02:12
Why Do We Use Schemas?
03:57
Structuring Documents
07:43
Data Types - An Overview
06:23
Data Types in Action
12:15
Data Types & Limits
01:08
How to Derive your Data Structure - Requirements
05:07
Understanding Relations
02:58
One To One Relations - Embedded
06:20
One To One - Using References
04:54
One To Many - Embedded
05:07
One To Many - Using References
04:04
Many To Many - Embedded
07:16
Many To Many - Using References
05:25
Summarizing Relations
02:18
Using "lookUp()" for Merging Reference Relations
04:35
Planning the Example Exercise
06:56
Implementing the Example Exercise
04:16
Understanding Schema Validation
02:57
Adding Collection Document Validation
09:07
Changing the Validation Action
03:43
Wrap Up
04:08
Useful Resources & Links
00:03
+ Exploring The Shell & The Server
8 lectures 20:25
Module Introduction
01:01
Finding Available Options
02:15
Setting "dbpath" & "logpath"
04:41
Exploring the MongoDB Options
02:00
MongoDB as a Background Service
03:09
Using a Config File
03:02
Shell Options & Help
04:12
Useful Resources & Links
00:05
+ Using the MongoDB Compass to Explore Data Visually
3 lectures 06:43
Module Introduction
00:50
Exploring the MongoDB Compass
05:50
Useful Resources & Links
00:03
+ Diving Into Create Operations
10 lectures 35:45
Module Introduction
01:12
Creating Documents - An Overview
01:47
Understanding "insert()" Methods
06:10
Working with Ordered Inserts
07:47
Understanding the "writeConcern"
05:44
The "writeConcern" in Practice
04:09
What is Atomicity?
02:39
We learned a lot about the different methods to create documents, time to practice this new knowledge!
Time to Practice - Create Operations
1 question
Importing Data
03:37
Wrap Up
02:38
Useful Resources & Links
00:02
+ Read Operations - A Closer Look
27 lectures 01:40:57
Module Introduction
01:40
Methods, Filters & Operators
02:54
Operators - An Overview
03:02
Query Selectors & Projection Operators
01:16
Understanding "findOne()" & "find()"
04:32
Working with Comparison Operators
05:20
Querying Embedded Fields & Arrays
04:52
Understanding "$in" and "$nin"
02:37
"$or" and "$nor"
05:31
Understanding the "$and" Operator
05:04
Using "$not"
01:35
Diving Into Element Operators
05:30
Working with "$type"
02:52
Understanding Evaluation Operators - "$regex"
03:23
Understanding Evaluation Operators - "$expr"
09:37
We learned a lot about the different ways to access information in our documents, so let's practice what we learned thus far!
Time to Practice - Read Operations
1 question
Diving Deeper Into Querying Arrays
04:09
Using Array Query Selectors - "$size"
02:09
Using Array Query Selectors - "$all"
02:12
Using Array Query Selectors - "$elemMatch"
04:52
We work a lot with arrays in MongoDB - now let's practice how we can access documents stored in arrays!
Time to Practice - Array Query Selectors
1 question
Understanding Cursors
02:47
Applying Cursors
06:02
Sorting Cursor Results
03:09
Skipping & Limiting Cursor Results
03:31
Using Projection to Shape our Results
04:01
Using Projection in Arrays
05:12
Understanding "$slice"
03:05
Useful Resources & Links
00:03
+ Update Operations
16 lectures 54:02
Module Introduction
01:01
Updating Fields with "updateOne()", "updateMany()" and "$set"
07:52
Updating Multiple Fields with "$set"
01:40
Incrementing & Decrementing Values
03:33
Using "$min", "$max" and "$mul"
03:15
Getting Rid of Fields
02:04
Renaming Fields
01:20
Understanding "upsert()"
04:01
How can we update information in existing documents? Let's test what we learned about that so far in this assignment!
Time to Practice - Update Operations
1 question
Updating Matched Array Elements
06:56
Updating All Array Elements
06:27
Finding & Updating Specific Fields
05:35
Adding Elements to Arrays
04:46
Removing Elements from Arrays
02:34
Understanding "$addToSet"
01:18
Wrap Up
01:39
Useful Resources & Links
00:01
+ Understanding Delete Operations
4 lectures 06:40
Module Introduction
00:31
Understanding "deleteOne()" & "deleteMany()"
04:08
Deleting All Entries in a Collection
02:00
Useful Resources & Links
00:01
+ Working with Indexes
24 lectures 01:34:38
Module Introduction
01:19
What Are Indexes & Why Do We Use Them?
04:18
Adding a Single Field Index
08:06
Indexes Behind the Scenes
00:46
Understanding Index Restrictions
02:51
Creating Compound Indexes
07:14
Using Indexes for Sorting
02:25
Understanding the Default Index
00:59
Configuring Indexes
02:28
Understanding Partial Filters
06:07
Applying the Partial Index
03:37
Understanding the Time-To-Live (TTL) Index
03:55
Query Diagnosis & Query Planning
02:10
Understanding Covered Queries
03:34
How MongoDB Rejects a Plan
07:37
Using Multi-Key Indexes
08:15
Understanding Text Indexes
06:09
Text Indexes & Sorting
02:21
Creating Combined Text Indexes
02:54
Using Text Indexes to Exclude Words
00:54
Setting the Default Language & Using Weights
06:31
Building Indexes
07:40
Wrap Up
02:24
Useful Resources & Links
00:04
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!
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.

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.

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