UpdateMany выдает ошибку: объект ‘Collection’ не вызывается

#python #mongodb #pymongo

#python #mongodb #pymongo

Вопрос:

Я пытаюсь обновить документ, мой запрос к которому:

 def database_connection():
    myclient = MongoClient("mongodb://localhost:27017/")
    mydb = myclient["test"]
    return mydb
db=database_connection()
collection = db.collection_name




collection.updateMany({"name":"xyz"},{"$set":{'name':'abc'}})
  

но это выдает мне ошибку

 TypeError: 'Collection' object is not callable. If you meant to call the 'updateMany' method on a 'Collection' object it is failing because no such method exists.
  

Комментарии:

1. Какой тип collection ?

2. В моей коллекции есть документ типа string и array

3. Мой пример кода на github здесь может быть полезен для вас.

Ответ №1:

Это должно сработать за вас, т.е. update_many() вместо updateMany()

 def database_connection():
    myclient = MongoClient("mongodb://localhost:27017/")
    mydb = myclient["test"]
    return mydb
db=database_connection()
collection.update_many({"name":"xyz"},{"$set":{'name':'abc'}})