skip to Main Content

I’m trying to get amount of objects saved in MongoDB with

db = myclient.database_sample
my_collection = db["database"]


mydoc = my_collection.find().count()
print("The number of documents in collection : ", mydoc)

but I’m getting an error

mydoc = my_collection.find().count()
AttributeError: 'Cursor' object has no attribute 'count'

I’m using Pymongo 2.0

2

Answers


  1. The find() function for pymongo returns a cursor object (not an array). Pymongo does include a count_documents function. Meaning the code should look like this:

    numberOfDocs = my_collection.count_documents({})
    

    Edit: Updated to correct solution.

    Login or Signup to reply.
  2. If you wanna keep using .find() methods, you need to convert it to list:

    numberOfDocs = len(list(my_collection.find()))
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search