Montana
Montana

Reputation: 47

Get amount of objects saved in MongoDB using Pymongo

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

Upvotes: 2

Views: 2835

Answers (2)

If you wanna keep using .find() methods, you need to convert it to list:

numberOfDocs = len(list(my_collection.find()))

Upvotes: 0

Patrick
Patrick

Reputation: 101

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.

Upvotes: 2

Related Questions