Javascript Firestore避免对同一文档提出两个请求

Javascript Firestore避免对同一文档提出两个请求,javascript,firebase,google-cloud-firestore,transactions,Javascript,Firebase,Google Cloud Firestore,Transactions,我正在开发一个用于彩票的应用程序。有大约10公里的车票和文件。他们有这个领域。艾萨维:是的。它的工作原理是,当用户请求票证时。我运行一个查询,其中(isAvailable==true),并将限制设置为1。因此,给用户一个票证,然后更新isAvailable:false。我的问题是,当100个用户同时请求票证时会发生什么,这将导致冲突。我曾想过使用事务处理这个问题,但我仍然不确定。我应该采取什么方法?有更好的选择吗?每当您需要根据文档的当前值向文档写入内容,并且有可能多个用户同时执行冲突更新时,您

我正在开发一个用于彩票的应用程序。有大约10公里的车票和文件。他们有这个领域。艾萨维:是的。它的工作原理是,当用户请求票证时。我运行一个查询,其中(isAvailable==true),并将限制设置为1。因此,给用户一个票证,然后更新isAvailable:false。我的问题是,当100个用户同时请求票证时会发生什么,这将导致冲突。我曾想过使用事务处理这个问题,但我仍然不确定。我应该采取什么方法?有更好的选择吗?

每当您需要根据文档的当前值向文档写入内容,并且有可能多个用户同时执行冲突更新时,您都需要这样做

在事务中,您可以将读操作和写操作结合起来,并且服务器将确保只有在您读取数据后没有人修改数据时才提交写操作如果在您的代码运行事务时有人修改了数据,将自动重试

这正是您在这里遇到的场景,因此正如您已经预料到的,您确实应该使用事务

如果您在实现此功能时遇到问题,我建议您在中发布一个新问题