Javascript 是否应通过AngularFirestoreCollection更新AngularFire中的Firstore项目?
在我的应用程序中,我有一个需要“或”条件的列表。但是,正如: 在这种情况下,您应该为每个OR条件创建一个单独的查询,并在应用程序中合并查询结果 因此,在我的服务中,我管理两个查询,并将它们作为单个可观察列表呈现给消费者 问题在于更新。我可以选择做额外的工作,将需要更新的项目匹配到正确的集合,以便我可以执行以下操作:Javascript 是否应通过AngularFirestoreCollection更新AngularFire中的Firstore项目?,javascript,angular,performance,google-cloud-firestore,angularfire,Javascript,Angular,Performance,Google Cloud Firestore,Angularfire,在我的应用程序中,我有一个需要“或”条件的列表。但是,正如: 在这种情况下,您应该为每个OR条件创建一个单独的查询,并在应用程序中合并查询结果 因此,在我的服务中,我管理两个查询,并将它们作为单个可观察列表呈现给消费者 问题在于更新。我可以选择做额外的工作,将需要更新的项目匹配到正确的集合,以便我可以执行以下操作: myCollection.doc(item.id).update(item); 或者我可以让这更简单,更公正: angularFirestore.doc(`path/to/${it
myCollection.doc(item.id).update(item);
或者我可以让这更简单,更公正:
angularFirestore.doc(`path/to/${item.id}`).update(item);
我的操作假设第一种方法将导致更快的更新,因为我使用的是同样的参考,它会立即乐观地更新。后者会更慢,因为更新持久性层会更全面,然后集合引用会在稍后得到通知(可能还是很短的时间)
然而,以上所有这些都是假设。我只是用一些随机的例子来支持这一点,在这些例子中,我看到更新或删除需要一两秒钟才能显示在视图的另一部分,但我无法实际检查这个过程
有人知道上面的说法是否正确吗?我应该做额外的工作来编写集合引用,还是angularfire(和/或firestore)处理了这个问题并使它们在引擎盖下有效地执行相同的操作?AngularFire2是RxFire的薄包装,它本身是Firebase JavaScript SDK的薄包装 通过AngularFire更新文档与直接通过JavaScript SDK更新文档之间应该没有明显的性能差异。在这两种情况下,大部分时间都花在JavaScript SDK上,以及客户端和服务器之间的连接上。出于这个原因,我通常直接通过JavaScript SDK进行更新,因为它通常更直接一些,而且AngularFire抽象在写操作中对我没有什么优势。鉴于AngularFire是在这个SDK之上构建的,所以即使不是通过AngularFire进行更改,它也会立即获取更改
如果您有一个实例,但情况似乎并非如此,我建议您使用最小、完整/独立的代码创建一个问题,以再现该问题。感谢您的深入了解。这将省去我在集合引用中进行路由的麻烦,并简化我的代码。