Now that we installed MongoDB on our device, let’s connect MongoDB with Python.

Connect MongoDB with Python:

We’ll use PyMongo to create, connect and manipulate databases using Python. PyMango is the official python driver provided by MongoDB and is the recommended way to work with MongoDB from Python.

Setup Pymango:

Now, let’s install PyMongo using pip.

Run the below command in your command line in general python installation or in your created virtual environment.

pip install pymongo

Output:

Collecting pymongo

  Downloading pymongo-3.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (527 kB)

     |████████████████████████████████| 527 kB 553 kB/s 

Installing collected packages: pymongo
Successfully installed pymongo-3.12.1

pyMongo is now installed in your system.

Importing MongoClient from PyMongo:

To use installed Pymongo with Python we have to import it. Let’s import MongoClient from PyMongo.

from pymongo import MongoClient

Establishing connection:

We need to create aMongoClient instance in order to establish the connection between MongoDB and Python.

Let’s create our object as mclient for our active MongoDB instance.

mclient = MongoClient()
  • MongoClient() takes the following arguments
  • host (optional)– This is the name of the host on which the server is running. 
  • port(optional)– This is the port number we wanted to connect.
  • username – This is the name of the user while setting up the database server. 
  • password – Password that is set while creating a user. 

To use localhost as host and 27017 as a port (default port), we write the following code:

mclient = MongoClient(host="localhost", port=27017)

It can also be written using MongoDB URL format as:

mclient = MongoClient("mongodb://localhost:27017")

Verify Connection:

To check whether the connection is successful or not we’ll write a simple program importing MongoClient from PyMongo and ConnectionFailure from PyMango’s error package.

from pymongo import MongoClient

from pymongo.errors import ConnectionFailure

mclient = MongoClient()

try:

   mclient.admin.command('ismaster')

   print("Connection Successful")

except ConnectionFailure:

   print("Server not available")

We imported ConnectionFailure from pymongo’s error library to detect any exceptions.

Output:

Connection Successful

Closing connection:

After completion of our work, we will close the connection by:

mclient.close()

Additional Resources:

Happy Learning 🙂