看https://firebase.google.com/docs/reference/js/firebase.firestore.Transaction,我看到四种方法:删除,设置,获取,更新。
我打算构造一个可爱的小集合查询并将其传递给.get,但是我看到文档说“ .get”“读取提供的DocumentReference引用的文档”。
看来这意味着我们无法使用Transaction对象获取集合或查询集合。
我可以使用查询的.get()方法而不是事务的.get()方法查询那些对象,但是如果集合从我下面改变了,则事务将以不一致的状态结束,而无需重试。
看来我在这里撞墙。我的理解正确吗?我们不能以一致的方式访问事务内部的集合吗?
最佳答案
您的理解是正确的。您必须确定要确保交易完成之前不会更改的单个文档。如果这些文档提前来自集合查询,则可以。但是想一想,如果您必须跟踪(非常大)集合中的每个文档才能完成交易,那将是多么不可扩展。
关于firebase - 我们不能在事务内部查询集合吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50071700/