The Complete Developers Guide To Mongodb

Tags: MongoDB

Master MongoDB and Mongoose design with a test-driven approach

Last updated 2022-01-10 | 4.5

- Understand how MongoDB stores data
- Gain mastery of the most popular MongoDB interface
- Mongoose JS
- Write efficient queries for reading data

What you'll 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

* Requirements

* All you need is a Mac or a PC

Description

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 MongoDB you have to understand it.

  • Learn how to use the popular MongooseJS library to interface with Mongo
  • Write tests around Mongo queries to ensure your code is working. You can reuse these tests on your own personal projects!
  • Master the process of designing NoSQL schema
  • Grasp the differences record associations and resource embedding
  • Use the advanced features of Mongoose to save development time
  • Develop apps that are fast and responsive thanks to Mongo's speed and flexibility
  • Work on either Windows or OSX
  • 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:

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

Course content

15 sections • 130 lectures

How to Use This Course Preview 02:20

Join Our Community! Preview 00:07

Github Repo Link Preview 00:01

MongoDB Setup on OSX Preview 11:21

More OSX Setup - Robomongo Preview 04:01

A Refresher on Promises Preview 03:24

Let's Play A Game Preview 07:39

Winning the Game Preview 07:16

Behind the Scenes with Promises Preview 06:25

Where Do We Use Mongo? Preview 03:01

Fundamentals of MongoDB Preview 04:13

A Last Touch of Setup Preview 03:20

Project Overview Preview 04:59

The Test Helper File Preview 07:42

Mongoose Connection Helper Preview 10:06

Mongoose Models Preview 05:13

More on Models Preview 06:27

The Basics of Mocha Preview 06:03

Running Mocha Tests Preview 06:21

Creating Model Instances Preview 06:12

Saving Users to Mongo Preview 07:47

Dropping Collections Preview 04:48

Mocha's Done Callback Preview 04:56

Mongoose's isNew Property Preview 06:25

Default Promise Implementation Preview 06:45

Test Setup for Finding Users Preview 06:38

Making Mongo Queries Preview 06:00

The ID Property - A Big Gotcha Preview 06:24

Automating Tests with Nodemon Preview 04:57

Finding Particular Records Preview 05:04

The Many Ways to Remove Records Preview 09:54

Class Based Removes Preview 05:10

More Class Based Removals Preview 05:46

The Many Ways to Update Records Preview 03:59

Set and Save for Updating Records Preview 08:20

Model Instance Updates Preview 07:38

Class Based Updates Preview 08:50

Update Operators Preview 11:15

The Increment Update Operator Preview 06:17

Validation of Records Preview 05:03

Requiring Attributes on a Model Preview 11:15

Validation With a Validator Function Preview 06:40

Handling Failed Inserts Preview 04:19

Embedding Resources in Models Preview 05:17

Nesting Posts on Users Preview 05:40

Testing Subdocuments Preview 07:29

Adding Subdocuments to Existing Records Preview 11:27

Removing Subdocuments Preview 07:46

Virtual Types Preview 07:59

Defining a Virtual Type Preview 06:19

ES6 Getters Preview 08:16

Fixing Update Tests Preview 02:19

Challenges of Nested Resources Preview 05:27

Embedded Documents vs Separate Collections Preview 07:55

BlogPosts vs Posts Preview 03:26

Creating Associations with Refs Preview 08:53

Test Setup for Associations Preview 05:12

Wiring Up Has Many and Has One Relations Preview 08:40

Promise.All for Parallel Operations Preview 06:44

Populating Queries Preview 11:06

Loading Deeply Nested Associations Preview 12:12

Cleaning Up with Middleware Preview 04:42

Dealing with Cyclic Requires Preview 05:07

Pre-Remove Middleware Preview 05:58

Testing Pre-Remove Middleware Preview 05:46

Project Setup Preview 03:15

Project Overview Preview 05:46

First Step - Artist and Album Models Preview 04:29

The Album Schema Preview 07:17

The Artist Model Preview 09:10

Finding Particular Records Preview 05:30

FindOne vs FindById Preview 06:29

The CreateArtist Operation Preview 02:48

Solution to Creating Artists Preview 03:11

Deleting Singular Records Preview 02:21

Solution to Removing Preview 04:20

Editing Records Preview 02:56

How to Edit Single Artists Preview 03:14

Minimum and Maximum Values in a Collection Preview 05:37

Solution to Min and Max Queries Preview 14:58

Challenge Mode - Search Query Preview 07:34

Sorting, Limiting, and Skipping Together Preview 13:05

Danger! Big Challenge Ahead Preview 04:30

Filtering By Single Properties Preview 07:22

Filtering with Multiple Props Preview 03:30

Handling Text Search Preview 04:50

Indexes and Text Search Preview 10:05

Batch Updates Preview 05:28

The Hidden 'Multi' Setting Preview 07:05

Seeding Many Records Preview 06:31

Counting the Result Set Preview 04:50

App Overview Preview 02:41

Designing API Routes Preview 06:01

Project Setup Preview 06:48

HTTP Request Methods Preview 03:54

The Basics of Express Preview 04:39

Express Boilerplate Preview 04:30

Handling Requests with Express Preview 08:12

Testing Express Apps with Mocha Preview 07:21

Running Mocha Preview 04:33

Project Structure Preview 02:57

Refactoring for Controllers and Models Preview 09:39

The Driver Model Preview 06:51

The Create Drivers Route Preview 03:47

The BodyParser Middleware Preview 07:02

Testing Driver Creation Preview 07:15

More on Testing Driver Creation Preview 09:07

Additional Mongoose Setup Preview 05:27

Driver Implementation Preview 04:33

Testing Endpoints with Postman Preview 09:14

Dev vs Test Environments Preview 03:40

Separate Test Databases Preview 10:33

Middlewares in Express Preview 15:03

Handling Editing of Drivers Preview 09:09

Testing Driver Updates Preview 07:44

Handling Deletion of Drivers Preview 03:05

Testing Driver Deletion Preview 05:27

Geography with MongoDB Preview 05:32

The GeoJSON Schema Preview 05:41

GeoNear Queries Preview 10:12

Testing a GeoNear Query Preview 07:01

One Big Gotcha Preview 04:49

Another Big Gotcha Preview 02:56

Testing GeoQueries Preview 03:39