Monday, October 6, 2025
HomeLanguagesWhat is a PyMongo Cursor?

What is a PyMongo Cursor?

MongoDB is an open-source database management system that uses the NoSql database to store large amounts of data. MongoDB uses collection and documents instead of tables like traditional relational databases. MongoDB documents are similar to JSON objects but use a variant called Binary JSON (BSON) that accommodates more data types.

What is a Cursor?

When you use the function db.collection.find() to search documents in collections then as a result it returns a pointer. That pointer is known as a cursor. Consider if we have 2 documents in our collection, then the cursor object will point to the first document and then iterate through all documents which are present in our collection. 

PyMongo Cursor:

As we already discussed what is a cursor. It is basically a tool for iterating over MongoDB query result sets. This cursor instance is returned by the find() method. Consider the below example for better understanding.

Example: Sample database is as follows: 

 python-mongodb-sample-database6 

javascript




from pymongo import MongoClient
     
# Connecting to mongodb   
client = MongoClient('mongodb://localhost:27017/')
 
with client:
     
    db = client.GFG
    lectures = db.lecture.find()
 
    print(lectures.next())
    print(lectures.next())
    print(lectures.next())   
     
    print("\nRemaining Lectures\n")
    print(list(lectures))


Output: 

python-mongodb-cursor

In this, find() method returns the cursor object.

lectures = db.lecture.find()

With the next() method we get the next document in the collection.

lectures.next()

With the list() method, we can transform the cursor to a Python list.

RELATED ARTICLES

Most Popular

Dominic
32338 POSTS0 COMMENTS
Milvus
86 POSTS0 COMMENTS
Nango Kala
6707 POSTS0 COMMENTS
Nicole Veronica
11871 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11936 POSTS0 COMMENTS
Shaida Kate Naidoo
6825 POSTS0 COMMENTS
Ted Musemwa
7090 POSTS0 COMMENTS
Thapelo Manthata
6779 POSTS0 COMMENTS
Umr Jansen
6781 POSTS0 COMMENTS