# MongoDB for Python developers

[![](https://raw.githubusercontent.com/mikeckennedy/mongodb-for-python-for-developers/master/readme_resources/mongo-course-sm.jpg)](https://training.talkpython.fm/courses/explore_mongodb_for_python_developers_course/mongodb-for-python-for-developers-featuring-orm-odm-mongoengine)


## Course Summary

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.

## What students are saying

*Spent the morning with Talk Python's course on Python and MongoDB. Hashtag Awesomeness. Michael, you were born to teach man! -- William H.*

## What's this course about and how is it different?

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 it's 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.**

## Who is this course for?

Anyone who knows Python and would like to learn how to use NoSQL, MongoDB, and document databases to build amazing applications.

## What will you learn in this course?

Some topics covered include.

* 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

## Is this course based on Python 3 or Python 2?

This course is based upon Python 3. With Python 2 going unsupported in 2020, we believe that it would be ill-advised to teach or learn Python 2.

## The time to act is now

Go beyond just learning MongoDB. Deeply understand this powerful database and build high-performance, data-driven applications. Register for the course at:

[training.talkpython.fm/courses/explore_mongodb_for_python_developers_course/mongodb-for-python-for-developers-featuring-orm-odm-mongoengine](https://training.talkpython.fm/courses/explore_mongodb_for_python_developers_course/mongodb-for-python-for-developers-featuring-orm-odm-mongoengine)