Pymongo 更新不更新,并且没有错误
Posted
技术标签:
【中文标题】Pymongo 更新不更新,并且没有错误【英文标题】:Pymongo update not updating, and with no errors 【发布时间】:2021-03-09 21:49:12 【问题描述】:我有一些简单的代码可以将错误标记为已解决
doc = self.data.find_one("id": int(errid))
print(doc)
updt = self.data.update_one(filter="id": errid, update="$set": "fixed": True)
doc = self.data.find_one("id": int(errid))
print(f"doc\n\nstr(updt.upserted_id)\n\nupdt.acknowledged")
print(f"Successfully fixed error errid")
(是的,所有变量都已定义)
我第一次打印doc
,我得到了
'_id': ObjectId('5fc048878dc1679d5d880f6b'), 'id': 12, 'command': 'errortest', 'fulltb': 'https://hastebin.com/otepiqihim', 'datetime': datetime.datetime(2020, 11, 27, 0, 29, 59, 708000), 'fixed': False
第二次,我得到完全相同的结果。更新已确认 (updt.acknowleged
) 但 ID 为 None
(updt.upserted_id
)
我也没有收到任何错误。有谁知道为什么会发生这种情况?
【问题讨论】:
【参考方案1】:如果您的 errid 是一个字符串,那么您将在所有地方将其转换为 int 除了 om update 命令
updt = self.data.update_one(filter="id": errid, update="$set": "fixed": True)
应该是:
updt = self.data.update_one(filter="id": int(errid), update="$set": "fixed": True)
【讨论】:
以上是关于Pymongo 更新不更新,并且没有错误的主要内容,如果未能解决你的问题,请参考以下文章