There are currently no items in your shopping cart.

User Panel

Forgot your password?.

The Complete Developers Guide to MongoDB

Video Introducing this tutorial

Let's Start :
How to Use This Course
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
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

MongoDB with Node and Express :
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