Course Overview

MongoDB is one of the most exciting data technologies. You can build extremely high-performance apps with the joy of a schemaless lifestyle. Python is the perfect counterpart to MongoDB and that's what this course is all about.

Key Learning Areas

  • Exactly what NoSQL means and the origins of NoSQL databases
  • How to install and configure MongoDB on your operating system
  • MongoDB's native query syntax
  • Searching subdocuments and other advanced queries
  • How to use MongoDB's atomic, transactional operators
  • Using PyMongo to connect to MongoDB from Python
  • Mapping classes from Python to MongoDB with mongoengine
  • Document design and data modeling techniques
  • How to tune MongoDB for high performance
  • To deploy MongoDB into production with SSL, authentication, auto-updates, and more
  • All content taught using modern Python 3 concepts

Course Outline

We will spend approximately 1 hour in lecture and 1 hour with hands-on exercises on each module. The final case study will be a longer deep-dive experience.

Day 1

  • What is NoSQL?
  • Setting up your computer to follow along
  • MongoDB's shell and native query syntax
  • Working with MongoDB directly from Python: PyMongo

Day 2

  • Modeling and document design
  • Mapping classes to MongoDB with the ODM MongoEngine
  • High-performance MongoDB
  • Deploying MongoDB in production (and playing it safe)

Day 3

  • End-to-end case study: Building an Airbnb knockoff
  • Course conclusion

Who Benefits

This course will teach you how to use MongoDB and document databases to build simpler and faster data-driven applications.

We start by explaining the origin and major concepts of NoSQL and document databases. You then learn how to work with MongoDB from its native shell as well as from Python using PyMongo.

Many MongoDB courses stop there. This course is meant to be a practical end-to-end coverage of MongoDB. We go beyond scratching the surface by covering real-world topics.

You'll see how to use mongoengine (a popular ODM for MongoDB - think ORM for NoSQL) to map classes to MongoDB. This brings many benefits including features not available in MongoDB (like type verification on fields, etc.).

After we master working with MongoDB from Python, we'll turn our attention to performance. We take a large database with millions of data points and make it run hundreds of times faster than you get out-of-the-box with MongoDB.

We wrap up the course by deploying MongoDB to production Linux servers. There are a few very important steps to getting MongoDB running in production and we'll go step-by-step through this setup.

In the end, you'll be ready to start building and running high performance, MongoDB-backed, data-driven applications.


This course is designed for anyone who knows Python and would like to learn how to use NoSQL, MongoDB, and document databases to build amazing applications.