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

时间:2017-05-15 04:23:31

标签: python mongodb pymongo

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

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

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

怎么做?

1 个答案:

答案 0 :(得分:5)

以下解决方案适用于我。检查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