如何在nosql中维护更新操作的数据一致性?

时间:2017-02-17 09:06:13

标签: mongodb database

例如,我们有一个如下表

car_id, car_name, car_status, engine
100,    car1,     running,    A
200,   car2,     stop,       B

当car_status正在运行时,业务逻辑是引擎无法更新

最明显的一步是

  1. 检查状态是否正在运行
  2. 如果状态未运行则更新
  3. 问题是有人可能会在步骤1和步骤2之间将状态更改为正在运行。

    如何在RDBMS和mongo中阻止这种情况?

1 个答案:

答案 0 :(得分:0)

我认为您只需要保留一种方法来更新应用程序中的car_status,并将该函数作为更新car_status的唯一方式公开(您可以在数据库中创建具有此表或集合的写权限的用户,并且这将迫使您始终只使用该user_id来运行此更新操作,并且当从应用程序执行时,这将适用。)