The complete developers guide to mongodb for 2020

  • Course level: Beginner


The complete developers guide to MongoDB

MongoDB is the hottest database solution in the tech world right now, able to power anything from your growing personal project to an enterprise infrastructure.

NodeJS focused?  Yep.  Test-Driven Exercises?  Absolutely!  Advanced Features of MongooseJS?  You know it.

This course will get you up and running with MongoDB quickly, and teach you the core knowledge you need to deeply understand and build apps centered around Mongo.

We’ll start by mastering the fundamentals of Mongo, including collections, validations, and common record manipulation techniques. Source code is provided for each lecture, so you will always stay up-to-date with the course pacing.  Special attention has been paid to creating reusable code that you’ll be able to make use of on your own fantastic projects.

If you are new to MongoDB, or if you’ve been working to learn it but sometimes feel like you still don’t quite ‘get it, this is the MongoDB course for you! To learn it you have to understand it.

  1. Learn how to use the popular MongooseJS library to interface with Mongo
  2. Write tests around Mongo queries to ensure your code is working. You can reuse these tests on your own personal projects!
  3. Master the process of designing NoSQL schema
  4. Grasp the differences in record associations and resource embedding
  5. Use the advanced features of Mongoose to save development time
  6. Develop apps that are fast and responsive thanks to Mongo’s speed and flexibility
  7. Work on either Windows or OSX
  8. Master the integration of Mongo, Node, and Mocha in a modern development environment


I’ve built the course that I would have wanted to take when I was learning MongoDB. A course that explains the concepts and how they’re implemented in the best order for you to learn and deeply understand them.

Who this course is for:

  1. This course is for anyone learning MongoDB in the Node JS environment

What Will I Learn?

  • Understand how MongoDB stores data
  • Gain mastery of the most popular MongoDB interface, Mongoose JS
  • Write efficient queries for reading data
  • Learn the purpose of each of Mongoose's functions
  • Design effective NoSQL schema with both data nesting and lookups

Topics for this course

97 Lessons

The complete developers guide to mongodb

How to Use This Course00:00:00
MongoDB Setup on OSX00:00:00
More OSX Setup – Robomongo00:00:00
Windows Setup00:00:00
RoboMongo Setup00:00:00
A Refresher on Promises00:00:00
Lets Play A Game00:00:00
Winning the Game00:00:00
Behind the Scenes with Promises00:00:00
Where Do We Use Mongo00:00:00
Fundamentals of MongoDB00:00:00
A Last Touch of Setup00:00:00
Project Overview00:00:00
The Test Helper File00:00:00
Mongoose Connection Helper00:00:00
Mongoose Models00:00:00
More on Models00:00:00
The Basics of Mocha00:00:00
Running Mocha Tests00:00:00
Creating Model Instances00:00:00
Saving Users to Mongo00:00:00
Dropping Collections00:00:00
Mochas Done Callback00:00:00
Mongooses isNew Property00:00:00
Default Promise Implementation00:00:00
Test Setup for Finding Users00:00:00
Making Mongo Queries00:00:00
The ID Property A Big Gotcha00:00:00
Automating Tests with Nodemon00:00:00
Finding Particular Records00:00:00
The Many Ways to Remove Records00:00:00
Class Based Removes00:00:00
More Class Based Removals00:00:00
The Many Ways to Update Records00:00:00
Set and Save for Updating Records00:00:00
Model Instance Updates00:00:00
Class Based Updates00:00:00
Update Operators00:00:00
The Increment Update Operator00:00:00
Validation of Records00:00:00
Requiring Attributes on a Model00:00:00
Validation With a Validator Function00:00:00
Handling Failed Inserts00:00:00
Embedding Resources in Models00:00:00
Nesting Posts on Users00:00:00
Testing Subdocuments00:00:00
Adding Subdocuments to Existing Records00:00:00
Removing Subdocuments00:00:00
Virtual Types00:00:00
Defining a Virtual Type00:00:00
ES6 Getters00:00:00
Fixing Update Tests00:00:00
Challenges of Nested Resources00:00:00
Embedded Documents vs Separate Collections00:00:00
BlogPosts vs Posts00:00:00
Creating Associations with Refs00:00:00
Test Setup for Associations00:00:00
Wiring Up Has Many and Has One Relations00:00:00
Promise All for Parallel Operations00:00:00
Populating Queries00:00:00
Loading Deeply Nested Associations00:00:00
Cleaning Up with Middleware00:00:00
Dealing with Cyclic Requires00:00:00
Pre Remove Middleware00:00:00
Testing Pre Remove Middleware00:00:00
Skip and Limit00:00:00
Writing Skip and Limit Queries00:00:00
Sorting Collections00:00:00
Project Setup00:00:00
Project Overview00:00:00
First Step Artist and Album Models00:00:00
The Album Schema00:00:00
The Artist Model00:00:00
Finding Particular Records00:00:00
FindOne vs FindById00:00:00
The CreateArtist Operation00:00:00
Solution to Creating Artists00:00:00
Deleting Singular Records00:00:00
Solution to Removing00:00:00
Editing Records00:00:00
How to Edit Single Artists00:00:00
Minimum and Maximum Values in a Collection00:00:00
Solution to Min and Max Queries00:00:00
Challenge Mode Search Query00:00:00
Sorting Limiting and Skipping Together00:00:00
Danger Big Challenge Ahead00:00:00
Filtering By Single Properties00:00:00
Filtering with Multiple Props00:00:00
Handling Text Search00:00:00
Indexes and Text Search00:00:00
Batch Updates00:00:00
The Hidden Multi Setting00:00:00
Seeding Many Records00:00:00
Counting the Result Set00:00:00
App Overview00:00:00
Designing API Routes00:00:00
Project Setup00:00:00

Enrolment validity: Lifetime


  • All you need is a Mac or a PC