Let's Start
  • How to Use This Course
  • Join Our Community!
  • Github Repo Link
OSX Setup
  • MongoDB Setup on OSX
  • More OSX Setup - Robomongo
Windows Setup
  • Windows Setup
  • RoboMongo Setup
A Quick ES6 Refresher
  • A Refresher on Promises
  • Let's Play A Game
  • Winning the Game
  • Behind the Scenes with Promises
Core Fundamentals of MongoDB
  • Where Do We Use Mongo?
  • Fundamentals of MongoDB
  • A Last Touch of Setup
A Test Driven Experience
  • 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
  • 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
  • Model Instance Updates
  • Class Based Updates
Mongo Operators
  • Update Operators
  • The Increment Update Operator
  • Validation of Records
  • Requiring Attributes on a Model
  • Validation With a Validator Function
  • Handling Failed Inserts
Handling Relational Data
  • Embedding Resources in Models
  • Nesting Posts on Users
  • Testing Subdocuments
  • Adding Subdocuments to Existing Records
  • Removing Subdocuments
  • Virtual Types
  • Defining a Virtual Type
  • ES6 Getters
  • Fixing Update Tests
Thinking About Schema Design
  • 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
Mongoose Middleware
  • Cleaning Up with Middleware
  • Dealing with Cyclic Requires
  • Pre-Remove Middleware
  • Testing Pre-Remove Middleware
Handling Big Collections with Pagination
  • Skip and Limit
  • Writing Skip and Limit Queries
  • Sorting Collections
Putting Your Skills to the Test
  • 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
Hard Mode Engage
  • Minimum and Maximum Values in a Collection
  • Solution to Min and Max Queries
  • Challenge Mode - Search Query
  • Sorting, Limiting, and Skipping Together