首页 > 解决方案 > 如何防止从 React-Native 应用程序向 Firestore 发送多个请求?

问题描述

我有一个将被许多用户使用的应用程序,有时他们会同时发布到同一个文档,Firebase 将如何处理它。有没有办法可以防止这种情况发生?

我的场景是这样的:有一家餐厅可以点餐,但是数量有限,假设有 5 个,并且有 10 个用户同时发布到该文档,我该如何防止这种情况发生?PS 我在 RN 应用程序中使用侦听器,因此它一直检查数量的变化,但如果用户比应用程序中的更新更快怎么办?

标签: firebasereact-nativegoogle-cloud-firestore

解决方案


为了控制多个并发写入,您应该使用事务来确保每个客户端不会覆盖其他客户端正在执行的操作。该事务将确保一次只有一个客户端可以写入文档。在您的交易中,您可以检查某些文档字段是否处于不应超过的限制,如果超过则使交易失败。

阅读有关交易的文档,以更好地了解其工作原理。`


推荐阅读