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 many of the CLI and GUI management tools.
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 Beanie (a popular ODM for MongoDB - think ORM for NoSQL) to map classes to MongoDB. Beanie is based on state-of-the-art Python technologies such as Pydantic and Python's async and await.
In this code-based and hands-on, demo-driven course, we will build some simple example apps using Beanie. Then we'll move on to modeling real PyPI data with 100,000s of records in MongoDB. Once we have our Python code working with the PyPI data, we'll build out a full FastAPI API around the data showing the smooth integration of Beanie and async MongoDB within FastAPI.
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 test our performance changes with both custom Python code and the Locust load testing framework.
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.
In this course, you will:
How document databases, such as MongoDB, work
Where MongoDB fits in the larger scope of databases used in the world
How to install and configure MongoDB and several management tools and GUIs
A basic set of MongoDB's native shell commands and queries
Foundational technologies such as Pydantic and Python's async and await
How to design data models with Beanie and Pydantic
Understand the tradeoffs when modeling data with documents
Learn when it's a good idea (and when it's a bad one) to embed data within other records
Use ORM-style programming with MongoDB and Beanie
Use more efficient "in-place" operations such as addToSet with Beanie
Design projection classes in Pydantic for improved performance
How to safely store user accounts (namely passwords) in MongoDB
To deeply integrate Beanie and MongoDB with FastAPI
Create complex indexes in MongoDB from Beanie for 1000x performance boosts
Use indexes to enforce data integrity in MongoDB
Safely deploy MongoDB in a self-hosted environment within a cloud provider on multiple Linux machines
Use the load testing framework Locust to probe and test the performance limits of your MongoDB-based web APIs
Talk Python Training is the paid course platform of Michael Kennedy, the host of the long-running Talk Python To Me podcast — one of the most-listened-to podcasts in the Python ecosystem. The course platform extends Michael's interview-based knowledge of the field into structured video courses taught by Michael and a curated set of guest instructors.
The course catalog covers the full Python landscape: web development with Django, Flask, FastAPI, and the broader async-Python stack; data science and pandas; LLM / RAG application development; testing and CI/CD; deployment patterns; the data-engineering side of Python; and a long list of practical Python patterns aimed at working developers. Few platforms cover the language with this much breadth from inside the Python community itself.
The CourseFlix listing under this source carries over 18 Talk Python Training courses spanning that range. Material is paid; Talk Python Training runs on per-course pricing on the original platform. Courses are aimed at developers using Python as a serious primary language rather than as a scripting tool.
Watch Online 111 lessons
This is a demo lesson (10:00 remaining)
You can watch up to 10 minutes for free. Subscribe to unlock all 111 lessons in this course and access 10,000+ hours of premium content across all courses.
Eve is an open source Python REST API framework designed for human beings. It allows you to effortlessly build and deploy highly customizable, fully featured RE
5h 6m
Frequently asked questions
What are the prerequisites for this course?
The course assumes a basic understanding of Python programming, as it covers advanced concepts such as Python's asyncio and the use of Pydantic. Familiarity with databases, particularly NoSQL concepts, would also be beneficial, given the focus on MongoDB and document databases.
What kind of applications will be built during the course?
The course involves building a variety of applications, starting with simple apps using Beanie, and progressing to more complex projects like modeling PyPI data with MongoDB. There is also a focus on developing a full FastAPI API around the data, demonstrating the integration of Beanie and async MongoDB within FastAPI.
Who is the target audience for this course?
This course is ideal for Python developers interested in leveraging MongoDB for data-driven applications. It's particularly suited for those looking to delve into asynchronous programming and document databases, as well as developers wanting to improve the performance of MongoDB databases or deploy them on production servers.
How does the depth of this course compare to other MongoDB courses?
Unlike many MongoDB courses that only cover basic operations, this course provides practical end-to-end coverage, including advanced topics like performance optimization with large datasets, integration with FastAPI, and deploying MongoDB to production Linux servers. It goes beyond the basics by using real-world data and scenarios.
What specific tools and technologies are covered in the course?
The course covers MongoDB, Beanie (an ODM for MongoDB), and Pydantic. It also includes Python's async and await features, FastAPI for building APIs, and Locust for load testing. Additionally, it addresses MongoDB management tools such as the native shell and the Studio 3T GUI.
What topics are not covered in this course?
The course does not cover SQL-based databases or ORM frameworks like SQLAlchemy. It focuses exclusively on MongoDB as a document database and its integration with Python applications using Beanie and async programming patterns.
What is the expected time commitment for completing the course?
The course consists of 111 lessons, which include hands-on exercises and code-based demos. While the exact runtime is not specified, prospective students should allocate time for both the instructional content and practical application of the concepts in building and testing their projects.