这里使用pymongo(Python):
Dict“update”包含两个键:
collection.find_and_modify(
query={"_id": self.id},
update={
"$set": {"zzz.cur": xxx.chg},
"$unset": {"zzz.bld": xxx.chg}
}
)
有没有可能在出错时只执行“$set”? 另一个($unset)会失败吗?你知道吗
或者找到\u和\u modify总是保证两个键都执行? 我在找虫子。有时候在我的数据库里zzz.bld公司. 但我不明白为什么。所以我决定澄清一下。你知道吗
目前看来,这个函数有时会失败,只运行“$set”(我的假设)。你知道吗
find_and_modify
被认为是原子的,因为它是affects only a single document。从docs:但是,我没有看到任何文档明确说明在发生错误时写操作是否是原子的。你知道吗
但是,好消息是,如果您知道这样一个错误是如何发生的,那么使用多线程程序创建一个测试数据库就很容易了,该程序会用这样的请求轰炸数据库,然后只需查看它是否真正是原子的。你知道吗
相关问题 更多 >
编程相关推荐