保持mongodb的原子性

时间:2017-07-16 14:35:31

标签: node.js mongodb atomicity

我想在我的mongodb数据库中保持原子性,如果我在我的文档中更新一个数组,如果它成功,那么另一个文档将更新,如果任何文档失败,则不应该更新文档。

我无法理解如何在我的nodejs app中使用mongoClient来实现这一点。

switch (cond)
  {
  case 1:
    bar (0);
    /* FALLTHRU */
  default:
    …
  }

因此,如果第一个查询失败,那么第二个将不会运行并且将保持原子性,但如果第一个查询执行而第二个查询失败则原子性将不会被维护。

帮助我了解正确的实施方法。 感谢

2 个答案:

答案 0 :(得分:1)

检查mongodb事务的此链接。我认为你需要这样做。

https://docs.mongodb.com/manual/core/write-operations-atomicity/

答案 1 :(得分:0)

您必须使用mongodb的两阶段提交来处理事务回滚。以下是文档的链接,请参阅回滚部分

https://docs.mongodb.com/manual/tutorial/perform-two-phase-commits/

在mongodb中,默认情况下没有条件事务回滚