如何使MongoDB Upsert真正具有幂等性?

问题描述

我想以幂等的方式将文档插入MongoDB。

MongoDB文档以及此处的SO提供的解释是使用upsert=True修饰符。

但是,据我了解,这不能保证幂等,因为可以修改已经存在的文档。

我要寻找的操作如下:

  • 如果通过某些键标识的文档不存在,请将其插入。
  • 如果具有给定密钥的文档已经存在,则可能会发生两件事:
    • 现有文档和提供的文档完全相同。然后,返回与插入新文档相同的结果。
    • 现有文档与提供的文档有所不同:抛出错误,因为会违反幂等性。

MongoDB是否开箱即用地支持这种操作?为什么upsert操作可能会标记为幂等,即使它们可能会修改已经存在的文档?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)