不同用途的交易和用途添加到Firestore

时间:2019-03-26 04:38:28

标签: flutter google-cloud-firestore

当我们使用添加数据到Firestore和使用Transaction时有什么区别?我仍然不明白这种用法。因为他产生了相同的价值谢谢

1 个答案:

答案 0 :(得分:0)

总之,我会说我们这样做是为了防止种族状况。

什么是比赛条件?

竞争状态是一种不希望的情况,当设备或系统尝试同时执行两个或多个操作时会发生这种情况,但是由于设备或系统的性质,必须按照正确的顺序进行操作正确完成

让我给你举个例子

假设您正在激活用户帐户。

要激活用户帐户,您将转到数据库并翻转值(从falsetrue)。同时,其他人也在尝试激活该帐户,他们还将翻转该值(从truefalse)。

只是要警惕这些事情,我们使用过渡。在对数据库进行任何更改之前,我们先读取数据并确认。

如果您对我的回答不满意,请务必阅读Race Condition,因为这是确切的答案。