我目前正在使用 Android SDK 在 Firestore 数据库上做一个项目。我需要编写一个事务,我想在其中编辑“目的地”集合中的“目的地”文档,只有当另一个名为“批处理”的集合没有任何其字段名称“destionId”设置为编辑目标文档的文档时ID。我正在通过设置了 .limit(1) 的查询进行检查
现在,我想在交易中执行此操作,因为此应用程序是实时的,并且会被很多人同时使用。如果我没有使用事务,那么另一个人可能会在我的检查查询和目标文档的实际编辑之间添加一个带有此 destinationId 的“批处理”文档。因此,我想在每次事务重试时运行查询并检查批处理集合。
但我不确定如何在事务中运行异步的 Firestore 查询。我相信没有办法在 Android SDK 中进行阻塞查询请求。不对请指正。
有人可以帮我解决这个冲突吗?提前致谢。
最佳答案
您不能在事务内执行查询,也不能使事务取决于一组不变的查询结果。您只能通过 ID 获取单个文档,以便稍后在该事务中更改它们。
关于android - 根据 Firestore 事务中的查询结果编辑文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55214431/