gpt4 book ai didi

angular - 如何只订阅 firebase 集合更改

转载 作者:行者123 更新时间:2023-12-05 04:01:59 27 4
gpt4 key购买 nike

我正在通过 @angular/fire 使用 firebase javascript sdk|在 Angular 应用程序中。

使用 angularfire Collection#stateChanges() ,我以为我只是订阅了一个集合的状态变化(根据描述)。 IE。在初始订阅时,不会返回任何内容。但是,我发现 stateChanges() 在继续返回状态更改之前会立即返回集合中的所有内容。

有没有办法只是订阅 future 的状态变化而不是“重播”过去的变化(直接使用firebase-js-sdk或通过 @angular/fire)?

例如,如果您已经下载了集合当前状态的副本,那么在简单地订阅集合更新时,您不希望重新下载集合状态。

感谢您的帮助!

最佳答案

目前,firebase 不支持订阅查询更改。当您订阅查询时,您还必须立即下载所有相关文档(请参阅 firebase-js-sdk 存储库中的问题 #1551)。

话虽这么说,正如那个问题中所指出的,您可以通过添加 updatedAt 来伪造此功能。属性到您的文档并查询所有文档,其中 updatedAt > now .这将使您订阅 future 的更改。

此变通办法的一个限制是 Firestore 仅支持在查询中的单个字段上使用不等式过滤器(>=< 等),因此在 updatedAt 上使用不等式过滤器字段可能有问题。

关于angular - 如何只订阅 firebase 集合更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54778296/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com