Course Highlights
  • 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
Curriculum

5 Topics
Join Our Community!
MongoDB Setup on macOS
MongoDB Setup on Windows
Using MongoDB Compass on macOS
Using MongoDB Compass on Windows

4 Topics
A Refresher on Promises
Let's Play A Game
Winning the Game
Behind the Scenes with Promises

3 Topics
Where Do We Use Mongo?
Fundamentals of MongoDB
A Last Touch of Setup

27 Topics
Project Overview
The Test Helper File
Mongoose Connection Helper
Mongoose Models
More on Models
The Basics of Mocha
Running Mocha Tests
Creating Model Instances
Saving Users to Mongo
Dropping Collections
Mocha's Done Callback
Mongoose's isNew Property
Default Promise Implementation
Test Setup for Finding Users
Making Mongo Queries
The ID Property - A Big Gotcha
Automating Tests with Nodemon
Finding Particular Records
Required Update for Remove Function
The Many Ways to Remove Records
Class Based Removes
More Class Based Removals
The Many Ways to Update Records
Set and Save for Updating Records
Required Fix for Update Method
Model Instance Updates
Class Based Updates

7 Topics
Required fix for Update Method
Update Operators
The Increment Update Operator
Validation of Records
Requiring Attributes on a Model
Validation With a Validator Function
Handling Failed Inserts

10 Topics
Embedding Resources in Models
Nesting Posts on Users
Testing Subdocuments
Adding Subdocuments to Existing Records
Required Update for Remove Method
Removing Subdocuments
Virtual Types
Defining a Virtual Type
ES6 Getters
Fixing Update Tests

9 Topics
Challenges of Nested Resources
Embedded Documents vs Separate Collections
BlogPosts vs Posts
Creating Associations with Refs
Test Setup for Associations
Wiring Up Has Many and Has One Relations
Promise.All for Parallel Operations
Populating Queries
Loading Deeply Nested Associations

5 Topics
Cleaning Up with Middleware
Dealing with Cyclic Requires
Pre-Remove Middleware
Required Pre Remove Hook Updates
Testing Pre-Remove Middleware

3 Topics
Skip and Limit
Writing Skip and Limit Queries
Sorting Collections

14 Topics
Required Boilerplate and Install Update - DO NOT SKIP
Project Setup
Project Overview
First Step - Artist and Album Models
The Album Schema
The Artist Model
Finding Particular Records
FindOne vs FindById
The CreateArtist Operation
Solution to Creating Artists
Deleting Singular Records
Solution to Removing
Editing Records
How to Edit Single Artists

13 Topics
Minimum and Maximum Values in a Collection
Solution to Min and Max Queries
Challenge Mode - Search Query
Sorting Limiting and Skipping Together
Danger! Big Challenge Ahead
Filtering By Single Properties
Filtering with Multiple Props
Handling Text Search
Indexes and Text Search
Batch Updates
The Hidden 'Multi' Setting
Seeding Many Records
Counting the Result Set

33 Topics
App Overview
Designing API Routes
Project Setup
HTTP Request Methods
The Basics of Express
Express Boilerplate
Handling Requests with Express
Testing Express Apps with Mocha
Running Mocha
Project Structure
Refactoring for Controllers and Models
The Driver Model
The Create Drivers Route
The BodyParser Middleware
Testing Driver Creation
More on Testing Driver Creation
Additional Mongoose Setup
Driver Implementation
Testing Endpoints with Postman
Dev vs Test Environments
Separate Test Databases
Middlewares in Express
Handling Editing of Drivers
Testing Driver Updates
Handling Deletion of Drivers
Testing Driver Deletion
Geography with MongoDB
The GeoJSON Schema
GeoNear Queries
Testing a GeoNear Query
One Big Gotcha
Another Big Gotcha
Testing GeoQueries

1 Topic
Bonus!

  Write a Review

The Complete Developers Guide to MongoDB

Go to Paid Course