Thursday, September 4, 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
32261 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6626 POSTS0 COMMENTS
Nicole Veronica
11795 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11855 POSTS0 COMMENTS
Shaida Kate Naidoo
6747 POSTS0 COMMENTS
Ted Musemwa
7023 POSTS0 COMMENTS
Thapelo Manthata
6695 POSTS0 COMMENTS
Umr Jansen
6714 POSTS0 COMMENTS