- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,我有一个需要“或”条件的列表。但是,正如docs say :
In this case, you should create a separate query for each OR condition and merge the query results in your app.
因此,在我的服务中,我管理两个查询并将它们作为单个可观察列表呈现给消费者。
更新时出现问题。我可以选择做额外的工作来将需要更新的项目与正确的集合相匹配,这样我就可以执行以下操作:
myCollection.doc(item.id).update(item);
或者我可以让这变得更加简单和公正:
angularFirestore.doc(`path/to/${item.id}`).update(item);
我假设第一种方法会导致更快的更新,因为我使用相同的引用,它会乐观地立即更新。后者会更慢,因为它会通过更新持久层然后集合引用稍后收到通知(可能还需要很短的时间)来更加周全。
然而,以上所有内容都是假设。我只是用一些随机实例来支持这一点,在这些实例中,我看到更新或删除需要一两秒才能显示在 View 的其他部分中,但我无法实际检查该过程。
有谁知道上面的说法是否正确?我应该做额外的工作来编写集合引用,还是 angularfire(和/或 firestore)处理这个问题并使它们在幕后有效地进行相同的操作?
最佳答案
AngularFire2 是 RxFire 的一个薄包装器,而 RxFire 本身也是 Firebase JavaScript SDK 的一个相对薄的包装器。
通过 AngularFire 更新文档或直接通过 JavaScript SDK 更新文档之间应该没有显着的性能差异。在这两种情况下,大部分时间都花在 JavaScript SDK 以及客户端和服务器之间的线路上。出于这个原因,我通常直接通过 JavaScript SDK 进行更新,因为它通常更直接一些,而且 AngularFire 抽象在写入操作方面对我来说几乎没有优势。鉴于 AngularFire 是构建在该 SDK 之上的,因此即使更改不是通过 AngularFire 进行的,它也会立即获取更改。
如果您遇到的情况似乎并非如此,我建议使用重现该问题的最小、完整/独立代码创建一个问题。
关于javascript - 是否应该通过 AngularFirestoreCollection 来更新 AngularFire 中的 Firstore 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58261906/
我正在尝试查询一个集合并根据另一个查询返回更改数据结果。 我的聊天结构是这样的: let chat = { id: "userId1" + "userId2", lastMessage: ""
我正在尝试在 Angular 4 应用程序中使用 Angularfire2。我可以使用 AngularFirestoreCollection 从我的 firestore 中获取对象集合。但是,当我遍历
我有以下代码 服务文件数据链接 private dbUser = '/users'; constructor(private firestore: AngularFirestore) { this.u
我将 Angularfire2 与新的 Firestore 数据库一起使用。在我的方法中,我正在执行这样的查询: const questionsRef = this.afs.collection('q
在我的应用程序中,我有一个需要“或”条件的列表。但是,正如docs say : In this case, you should create a separate query for each OR
我正在尝试根据传递到参数中的 URL 参数从 firestore 集合中获取特定文档,但是因为我已经使用 expensesCollection: AngularFirestoreCollection
我是一名优秀的程序员,十分优秀!