Use MongoDB with Python

45 minutes
  • 4 Learning Objectives

About this Hands-on Lab

In this lab, you will learn how to perform Create Read Update and Delete (CRUD) processes on a MongoDB database. You will first create a collection and then add documents to it. You will practice reading data from the collection and making corrections to the data.

You will need basic Python programming skills for this lab:
– [Certified Associate in Python Programming Certification](

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Create DB Connection (

First, you will need to connect to the database. To do this, create a function named get_database_connection in the file. This function will return a client object that can be used to access the database.

Populate Collection (

With the connection created, populate a new collection in the read_data_from_db function using the contract_list provided in the file.

Read Data (

Now you can read the documents from the collection using the read_data_from_db function. The skeleton also has code to compare the read data to a known good copy and print it to the screen.

Update and Delete (

With the data successfully loaded, you are now ready to make some updates:

  1. First, delete the document with the incorrect page number in the delete_data_from_db function.
  2. Then, resolve the failed assertation due date not updated correctly by updating the due date in the update_data function.

Additional Resources

The Scenario

Atlantic Publishing is a start-up publishing house with the motto, "We print what others won't!" They started keeping written lists that summarize the authors' contracts. Finally realizing they need to have a more robust method, they decided to move to a database. The first step they took was to create a Python list of their written summarized data — but they were unsure how to proceed past that point! They have hired you to create and maintain their database as well as provide them needed data on the spot.

Log in to the server over SSH using the credentials provided.

Note: This lab can also be run on your local machine assuming you already have MongoDB set up and listening on localhost.

You can find the skeleton Python files used in this lab already on this lab's server as well as below:

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?