gpt4 book ai didi

python - pymongo update_one 不更新基于 _id

转载 作者:行者123 更新时间:2023-12-04 01:32:46 26 4
gpt4 key购买 nike

我有这个更改集:

change_set = {'name': 'bso save job again', 'location': 'new york city', 'expires': '2020-04-04', 'created': '2020-03-05'}

使用此 ID(我不是创建此 ID,它实际上来自较早的保存):
id = '5e6107ddfef5aa3c2e3647b2'

我正在尝试这样做:
result = dbjobs.update_one({'_id': id}, {'$set': change_set})

我的 result.raw_result 是这样的:
{'n': 0, 'nModified': 0, 'ok': 1.0, 'updatedExisting': False}

它没有抛出错误,我只是得到零变化。我更新错了吗?

最佳答案

TLDR:您的 id应该是 ObjectId 类型而不是 string .
将此添加到您的代码中:

from bson.objectid import ObjectId
id = ObjectId('5e6107ddfef5aa3c2e3647b2')
调试此类问题的简短说明:
update_one的返回值来看特别是 ok字段返回 1,表示操作成功。
将其与事实相结合 n=0这意味着 Mongo 无法匹配任何文档,因此问题出在操作的查询部分。

关于python - pymongo update_one 不更新基于 _id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60547442/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com