I am following the tutorial http://api.mongodb.org/python/current/tutorial.html for bulk inserts. However, I am getting the error that I have listed below. What am I missing? The reviews_array is a json_array
client = MongoClient()
client = MongoClient('localhost', 27017)
db = client.is_proj
db_handle = db.reviews
self.db_handle.insert_many(reviews_array)
The Error:
TypeError: 'Collection' object is not callable. If you meant to call the 'insert_many' method on a 'Collection' object it is failing because no such method exists.
In pymongo, before V3.0, you use insert
for both single-doc and bulk insert. If you pass a document, it performs a single-insert, and if you pass a different iterable (list, generator), it performs bulk insert.
insert_many()
does not exist in pymongo before V3.0.
In pymongo V3.0, they introduced insert_many
and insert_one
, and the use of the plain insert
is deprecated.
I also got this error. While shx2's answer is right here, i got the error because i was using mongoengine and tried insert_many on the database, and it is a collection method, so it makes sense to do conn[database][collection].insert_many(iterable) and not conn[database].insert_many(iterable).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With