在 Angular Firestore 查询中禁用缓存

2024-04-01

我正在运行 firestore 查询来获取数据,但该查询正在从之前的缓存数据查询返回数据,然后在来自服务器的第二次传递中返回其他数据(之前未查询到)。有没有办法可以禁用 firestore 查询的缓存,以便每次查询某些内容时请求都会发送到数据库。

this.parts$ = this.db.collection<OrderBom>('OrderBom', ref => {
      let query : firebase.firestore.Query = ref;
      query = query.where('orderPartLC', '==', this.searchValue.toLowerCase());
      return query;
    }).valueChanges();

改变这一点.valueChanges() to a .snapshotChanges()然后你可以应用过滤器。请参阅下面的示例。

我不喜欢更改默认行为(默认配置)。我认为这是一种理想的行为,良好的做法是尽快向用户显示数据,即使您刷新屏幕两次。

我认为过滤并不是一个坏习惯fromCache === false当我们别无选择的时候。 (就我而言,在收到第一个请求后,我会发出更多请求,因此由于承诺和其他异步“任务”缓存/服务器顺序完全丢失)

See 这个已关闭的问题 https://github.com/firebase/firebase-js-sdk/issues/2976

  getChats(user : User) {
    return this.afs.collection<Chat>("chats", 
    ref => ref.where('participantsId', 'array-contains', user.id)
              .snapshotChanges()
              .pipe(filter(c=> c.payload.doc.metadata.fromCache === false)).
              .pipe(map(//probaly want to parse your object here))

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

在 Angular Firestore 查询中禁用缓存 的相关文章

随机推荐

  • htaccess 防止热链接也可以防止外部链接

    我在 htaccess 文件中添加了这段代码 以防止图像和 pdf 文件的热链接 但它也会阻止正常的外部链接工作 我的 htaccess 文件 RewriteEngine On RewriteCond HTTP REFERER Rewrit
  • 有没有办法将类字段标记为仅反序列化而不序列化?

    听起来很奇怪 但这正是我想要的 因为我正在使用名为 Project 的数据结构 该数据结构被序列化为保存文件 我希望能够使用已弃用的字段对旧版本的保存文件进行反序列化 然后仅使用当前使用的字段对其进行重新序列化 问题是我想在重新序列化结构时
  • Servlet 3.0 的错误页面

    In the web xml文件中 我尝试指定一个错误页面 如下所示
  • 如何在 Hyper 处理程序之间共享 HashMap?

    我正在尝试通过使用 Hyper 0 10 实现一个简单的内存中 URL 缩短器来学习 Rust 我遇到了一个问题 我认为是由于尝试关闭可变的HashMap在我的处理程序中 fn post mut req Request mut res Re
  • stdin、stdout 和 stderr 是文件吗?

    有人告诉我 每当运行 C 程序时 都会打开三个文件 STDIN STDOUT 和 STDERR 他在支持中给出了此链接 http tldp org LDP abs html io redirection html http tldp org
  • 滤波器相关矩阵 R

    我在尝试从相关矩阵中提取数据时遇到了一些困难 我希望提取高于 0 8 且低于 0 99 的值 因为我想排除恰好为 1 的两只股票的相关性 这是我的代码 Test load the packages library corrr library
  • SQL Server 2008 中单个列上的多个外键约束

    我有两个表 TableA 和 TableB 现在 TableA 有 2 列 ID 和 Name TableB 有 3 列 ID Name 和 TableAID 现在有一个来自 TableA ID TableB TableAID 的外键约束
  • Apple 推送通知提供商的设备令牌

    如果我是 Apple 推送通知 提供商 multipleiOS 应用程序可以对多个应用程序使用相同的设备令牌吗 我知道每个应用程序都需要唯一的 SSL 证书 但是我对设备令牌感到困惑 Example 我有两个应用程序 A 和 B 我想为这两
  • 在使用 OpenSSL 的 EVP_PKEY_keygen 之前,我是否需要播种任何随机数生成器?

    在 OpenSSL Wiki 页面上称为EVP 密钥和参数生成 https wiki openssl org index php EVP Key and Parameter Generation它规定如下 由于这些函数使用随机数 因此您应该
  • NSURLCache 缓存响应问题

    我正在编写一个 iPhone 应用程序 其中一个选项卡是 twitter feed 我正在解析 twitter xml 并将其很好地放入表格视图中 如果没有互联网连接 我想显示上次有互联网连接和更新表时的缓存结果 我使用 NSURLCach
  • C# 此时无法启动异步操作。

    当我单击 asp web 表单中的提交按钮时 我尝试运行我的代码 我一点击按钮就出现错误有人知道原因吗 错误消息显示如下 应用程序中的服务器错误 此时无法启动异步操作 异步 操作只能在异步处理程序中启动 或者 模块或页面生命周期中的某些事件
  • 计算从现在到今天或明天指定时间的秒数[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我以为这个问题已经有了答案 但似乎没有 在Python中 我想计算从 现在 到指定时间 今天 或 明天 的秒数 无论何时发生 例如 下
  • 通过 Facebook 图形 API 发布带有大图片的链接

    虽然过去链接只能包含小 90x90 图片 但现在看来链接可以在 Feed 中包含更大的图片 例如 400x208 如果您将具有大 og image 的链接粘贴到 Facebook UI 上的 更新状态 字段中 例如http allthing
  • 使用 RedirectStandardOutput 运行 ChkDsk

    Running ChkDsk不重定向StandardOutput工作时不会出现这样的错误 var processStartInfo new ProcessStartInfo chkdsk exe D processStartInfo Use
  • Perl Win32::API 和指针

    我正在尝试使用 Perl 的 Win32 API 模块来利用 Win32 API 函数 DsGetSiteName 根据Windows SDK DsGetSiteName的函数原型为 DWORD DsGetSiteName LPCTSTR
  • 对可能包含时间或距离的字符串进行排序

    我已经为自定义字符串实现了排序算法 该字符串表示田径赛事的时间或距离数据 下面是格式 10 03 00 十分三秒或 10 英尺三英寸 排序的结果是 对于野外事件 最长的投掷或跳跃将是第一个元素 而对于跑步事件 最快的时间将是第一个元素 下面
  • 如何固定Snackbar的高度和位置?

    On Android 支持库 24 1 1 Snackbar 工作正常 然后开始Android 支持库 24 2 0从那时起 Snackbar 开始表现如下 在图书馆修订记录 https developer android com topi
  • Pandas DataFrame 迭代行和总和

    我有这个熊猫数据框 recipe name ingredient group weight pudding milk 0 60 pudding 2 sugar 0 10 pudding 2 sugar 0 70 pudding 2 milk
  • 如何将 R 中的 SpatialPointsDataFrame 更改为 SpatialPolygonsDataFrame 以便在 ggplot2 中使用它?

    我使用 R 使用 ggplot2 中的大圆在世界地图上投影一些数据流 我还想在我的地图上投影以下城市地区 http www naturalearthdata com downloads http www naturalearthdata c
  • 在 Angular Firestore 查询中禁用缓存

    我正在运行 firestore 查询来获取数据 但该查询正在从之前的缓存数据查询返回数据 然后在来自服务器的第二次传递中返回其他数据 之前未查询到 有没有办法可以禁用 firestore 查询的缓存 以便每次查询某些内容时请求都会发送到数据