Pymongo:如何检查更新是否成功?

Cod*_*mer 2 python mongodb pymongo

如何检查Pymongo的更新是否成功?如果使用相同的值更新记录,则应将其视为成功更新.即,即使修改的计数为零,也认为是成功的更新.这该怎么做.

result = _db.testcollection.update_one({"_id": col_id}, {"$set": obj})
return True if result.modified_count > 0 else False
Run Code Online (Sandbox Code Playgroud)

如果值已更改,则此方法很有效.但是我想要返回true,即使技术上记录没有改变,因为记录与我们试图更新的记录相同.

这该怎么做?

Cod*_*mer 6

以下解决方案适用于我.检查matched_count而不是modified_count.如果存在匹配的记录且没有例外,则表示它成功.

try:
    result = _db.testcollection.update_one({"_id": col_id}, {"$set": obj})
    return result.matched_count > 0 
except:pymongo.errors.PyMongoError as e:
    return False
Run Code Online (Sandbox Code Playgroud)