我们可以不查询交易内的集合吗?

2024-05-12

看着https://firebase.google.com/docs/reference/js/firebase.firestore.Transaction https://firebase.google.com/docs/reference/js/firebase.firestore.Transaction我看到四种方法:删除、设置、获取、更新。

我正要构建一个可爱的小集合查询并将其传递给 .get,但我看到文档说 .get “读取所提供的文档引用的文档文档参考."

看来这意味着我们无法使用 Transaction 对象获取集合或查询集合。

I could使用查询的 .get() 方法而不是事务的 .get() 方法来查询那些,但是如果集合从我下面发生变化,则事务将最终处于不一致的状态而无需重试。

看来我在这里碰壁了。我的理解正确吗?我们不能以一致的方式访问事务内的集合吗?


你的理解是正确的。使用网络和移动 SDK 时,您必须识别个人文件您希望确保在交易完成之前不会更改。如果这些文档来自提前的集合查询,那很好。但想一想,如果您必须跟踪(非常大的)集合中的每个文档才能完成事务,那么它的可扩展性将会有多大。

但是,对于后端 SDK,您可以在事务内执行查询,并对查询返回的所有文档进行有效的事务处理,最多可达交易中的文档数量限制(500) https://firebase.google.com/docs/firestore/quotas#writes_and_transactions.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我们可以不查询交易内的集合吗? 的相关文章

随机推荐