我想在我的mongodb数据库中保持原子性,如果我在我的文档中更新一个数组,如果它成功,那么另一个文档将更新,如果任何文档失败,则不应该更新文档。
我无法理解如何在我的nodejs app中使用mongoClient来实现这一点。
switch (cond)
{
case 1:
bar (0);
/* FALLTHRU */
default:
…
}
因此,如果第一个查询失败,那么第二个将不会运行并且将保持原子性,但如果第一个查询执行而第二个查询失败则原子性将不会被维护。
帮助我了解正确的实施方法。 感谢
答案 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中,默认情况下没有条件事务回滚