Reputation: 47
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
Reputation: 1
If you wanna keep using .find() methods, you need to convert it to list:
numberOfDocs = len(list(my_collection.find()))
Upvotes: 0
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