我的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
,但它们都只会更新整个集合中的一个文档。