У меня есть некоторые документы в моей коллекции MongoDB, я хочу обновить эти документы с использованием новейших значений, полученных из API.
Вот что я попробовал:
def Updating(Data):
for x in Data():
Item = Data['item']
Price = Data['price']
update = db.col.update_many({}, {"$set":{"item": Item, "price": "Price"}})
Здесь Data
- это данные, полученные из API.Каждый документ должен быть обновлен с новым значением, поэтому, если у меня есть:
item: First item
price: 394
item: Second item
price: 20
Он должен быть обновлен с новой ценой, например, вот так:
item: First item
price: 423
item: Second item
price: 25
Проблема сМой настоящий код состоит в том, что все документы в коллекции обновляются одним и тем же способом, как копирование и вставка, применяемое ко всем записям, например:
item: First item
price: 423
item: First item
price: 423
item: First item
price: 394
Я не понимаю, почемуэто происходитЯ попытался использовать update_one
и replace_one
, но оба они обновят только один документ во всей коллекции.