目前,我正在使用Android在Firestore数据库上做一个项目。我需要编写一个事务,在该事务中,我希望编辑"destionId“集合中的”目的“文档,只有当另一个名为"batches”的集合没有将其字段名“destionId”设置为编辑目标文档ID的任何文档时,我才会使用.limit(1)设置的查询进行检查。
现在,我想在一个交易中这样做,因为这个应用程序是实时的,并将在同一时间被这么多人使用。如果我没有使用事务,那么另一个人可能会在我的查询和目标文档的实际编辑之间添加一个带有这个destinationId的“批处理”文档。因此,每次事务重试时,我都希望运行查询和检查批集合。
但是,我不知道如何在事务内部运行Firestore作为异步查询。我认为在Android中没有办法发出阻塞查询请求。如果错了,请纠正我。
有人能帮我解决这场冲突吗?提前谢谢。
发布于 2019-03-18 03:40:48
您不能在事务中执行查询,也不能使事务取决于一组不变的查询结果。您只能通过其ID获取单个文档,以便在以后的事务中对它们进行更改。
https://stackoverflow.com/questions/55214431
复制相似问题