Sunday, October 5, 2025
HomeLanguagesConvert PyMongo Cursor to JSON

Convert PyMongo Cursor to JSON

Prerequisites: MongoDB Python Basics

This article is about converting the PyMongo Cursor to JSON. Functions like find() and find_one() returns the Cursor instance.

Let’s begin:

  1. Importing Required Modules: Import the required module using the command:
    from pymongo import MongoClient
    from bson.json_util import dumps

    If MongoDB is already not installed on your machine you can refer to the guide: Guide to Install MongoDB with Python

  2. Creating a Connection: Now we had already imported the module, its time to establish a connection to the MongoDB server, presumably which is running on localhost (host name) at port 27017 (port number).
    client = MongoClient(‘localhost’, 27017)
  3. Accessing the Database: Since the connection to the MongoDB server is established. We can now create or use the existing database.
    mydatabase = client.name_of_the_database
  4. Accessing the Collection: We now select the collection from the database using the following syntax:
    collection_name = mydatabase.name_of_collection
  5. Getting the documents: Getting all the documents from the collection using find() method. It returns the instance of the Cursor.
    cursor = collection_name.find()
    
  6. Converting the Cursor to JSON: Converting the Cursor to the JSON.
    First, we will convert the Cursor to the list of dictionary.
    list_cur = list(cursor)

    Now, converting the list_cur to the JSON using the method dumps() from bson.json_util

    json_data = dumps(list_cur)
    

    You can now save it to the file or can use it in the program using loads() function.

Below is the implementation.




# Python Program for
# demonstrating the 
# PyMongo Cursor to JSON
   
  
# Importing required modules
from pymongo import MongoClient
from bson.json_util import dumps, loads
  
  
# Connecting to MongoDB server
# client = MongoClient('host_name',
# 'port_number')
client = MongoClient('localhost', 27017)
  
# Connecting to the database named
# GFG
mydatabase = client.GFG
   
# Accessing the collection named
# gfg_collection
mycollection = mydatabase.College
  
# Now creating a Cursor instance
# using find() function
cursor = mycollection.find()
  
# Converting cursor to the list 
# of dictionaries
list_cur = list(cursor)
  
# Converting to the JSON
json_data = dumps(list_cur, indent = 2
   
# Writing data to file data.json
with open('data.json', 'w') as file:
    file.write(json_data)


Output:

RELATED ARTICLES

Most Popular

Dominic
32337 POSTS0 COMMENTS
Milvus
86 POSTS0 COMMENTS
Nango Kala
6706 POSTS0 COMMENTS
Nicole Veronica
11871 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11934 POSTS0 COMMENTS
Shaida Kate Naidoo
6821 POSTS0 COMMENTS
Ted Musemwa
7087 POSTS0 COMMENTS
Thapelo Manthata
6779 POSTS0 COMMENTS
Umr Jansen
6778 POSTS0 COMMENTS