如果 Firestore 数据库发生更改,我是否需要重新读取所有文档?

2023-12-02

假设我尝试使用 Firestore 侦听器获取用户喜欢的 eventID 列表。我也使用离线持久化。

从这个线程:Firestore - 使用缓存直到在线内容更新

我知道侦听器将立即使用缓存中的结果触发,如果有更改结果,我将获得包含更改的另一个快照。

enter image description here

在 swift 中,获取列表的参考是:

FirestoreDocumentReference.users(uidUser: uid).reference().collection("likedEvents").addSnapshotListener({ (snapshot, error) in )}

假设首先在firestore数据库中我有100个被用户喜欢的eventID,然后用户喜欢了另外50个事件,这意味着我现在数据库中有150个喜欢的eventID。

由于数据库从 100 更改为 150,Firestore 会检查服务器,对吗?它会给我另一个快照。

我的问题是......

从 firestore 收到新快照后,我是读取 150 个文档还是仅读取 50 个文档?我的意思是,我是再次阅读所有文档还是只是更改文档?

因为读操作会影响firestore的定价


只有 50 :-)
https://firebase.google.com/docs/firestore/pricing#listens

每次添加或更新结果集中的文档时,您都需要支付读取费用

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

如果 Firestore 数据库发生更改,我是否需要重新读取所有文档? 的相关文章

随机推荐

  • 如何从 Java 的标准输入读取整数数组?

    在标准输入的一行中 我有 3 种类型的整数 第一个整数是 id 第二个整数是 N 某个数字 之后是 N 个整数 用一个空格分隔 我想将其存储在数组或 ArrayList 中 我如何使用 BufferedReader 来做到这一点 我有以下代
  • OpenCart 订阅模式(x 个月)

    我正在使用 OpenCart 设置一个电子商务网站 并且我想提供订阅 特别是 3 6 12 个月的订阅 我对定期计费不感兴趣 我知道有 PayPal 和 Authorize net 的模块 我希望用户提前付款一次 从配置的角度来看 这是否会
  • 为轮播横幅添加视差效果,使图像和文本以不同的速度移动

    我可以使用轮播效果 但我不知道如何使文本和图像以不同的速度移动 如 IBM 横幅所示 http www ibm com us en 这是我的 jQuery fn zinCarousel function settings var setti
  • C++循环包含问题[重复]

    这个问题在这里已经有答案了 我有这个文件 logger hpp ifndef LOGGER HPP define LOGGER HPP include event hpp Class definitions class Logger pub
  • 场景图形/显示列表之外的 AS3 事件冒泡

    您好 只是想知道是否可以在 AS3 中的非显示列表类中利用事件冒泡 例如 在应用程序的模型中 有一个包含许多汽车的 City 类 有哪些方法可以将事件侦听器附加到 City 对象并接收从子 Cars 冒出的事件 澄清一下 City 和 Ca
  • 当我们在 C 中取消引用 NULL 指针时,操作系统中会发生什么?

    假设有一个指针 我们用 NULL 初始化它 int ptr NULL ptr 10 现在 程序将会崩溃 因为ptr没有指向任何地址 我们正在为其分配一个值 这是无效的访问 那么 问题是 操作系统内部发生了什么 是否发生页面错误 分段错误 内
  • 多线程哪个最好用? (线程池或线程)

    希望这是一个比我之前提出的问题更好的问题 我有一个 exe 文件 我将向其传递不同的参数 文件路径 然后它将接受并解析该参数 因此 我将进行一个循环 循环遍历列表中的文件路径并将它们传递给此 exe 文件 为了提高效率 我想将执行分散到多个
  • 我可以像这样重写我的网址吗?这是一个好主意吗?

    是否可以重写 Apache Mod Rewrite 一个 URL http www example com view php t h5k6对此http www example com h5k6 进行此重写的原因是 URL 需要非常短 有点像
  • 在 Android 中获取 BLE Beacon 的 Tx 功率

    我想通过 Android 设备获取 BLE 信标的 Tx 功率 我在这里定义了 Tx 功率的分配数量 public class AssignedNumbers public static final byte TXPOWER 0x0A 然后
  • Spring @Required 注解已弃用?

    我正在尝试添加 Required对我的 bean 的注释 但编译器说它已被弃用 public class Product private String id public String getId return id Required pu
  • 如何隐藏任务栏系统托盘中的JFrame

    我创建了一个JFrame并想将其隐藏在taskbar in windows 但是 它不应该在右下角可见 而是隐藏在tray menu items 有人能告诉我该怎么做吗 我需要对系统设置进行一些更改吗windows 例如 您可能见过一些do
  • 使用 Contains 构建 Lambda 表达式

    我在将简单 linq 查询转换为 Lambda 表达式时遇到问题 我的查询如下所示 int array List
  • 如何使用“echo”将 echo 重定向命令重定向(或写入)到 .bat 文件?

    还有更多细节 在A bat文件 我想向另一个文件写入一条语句B bat文件带有 echo 重定向 但语句是另一个 echo 重定向 我想要实现的内容如下 A bat echo echo set p log 1 gt gt C txt gt
  • 允许支持者以其他用户身份登录

    我们目前有一个 Identity server 4 应用程序 使用实体框架核心和 asp net 标识 我们有一群支持者 他们需要能够访问我们的用户帐户 以便通过电话帮助他们解决问题 我们的用户无法弄清楚如何使用团队查看器 因为他们中的大多
  • 跨域ajax请求

    我想从跨域URL获取HTML响应页面 为此 我使用 ajax 请求 ajax type GET url http wcidevapps com salescentral idisk 0001000383 iDisk dataType jso
  • openERP中无法导入自定义模块

    我已经完成了简单的自定义模块openerp使用 python 和 xml 但我无法在 openerp 中导入 我的模块没有在 openerp 中显示 this is init py import os os environ TZ UTC S
  • 将html添加到div而不替换其中当前内容

    我正在尝试将 dhtml 添加到 ID 为 upload results 的 div 中 这应该可以在不替换 div 中当前内容的情况下工作 代码 有趣的部分在底部
  • 替换 ffdf 对象中的 NA

    我正在使用一个 ffdf 对象 该对象在某些列中具有 NA NA 是使用左外合并的结果合并 ffdf 我想用 0 替换 NA 但没能做到 这是我正在运行的代码 library ffbase deals lt merge deals rk b
  • 泛型结构中的运算符重载:我可以为特定类型(?)的泛型创建重载吗?

    我正在 C 中使用通用结构定义物理单位 一切进展顺利 直到出现错误 二元运算符的参数之一必须是包含类型 当尝试重载数学运算符以便它们在不同单位之间进行转换时 所以 我有这样的事情 public interface ScalarUnit pu
  • 如果 Firestore 数据库发生更改,我是否需要重新读取所有文档?

    假设我尝试使用 Firestore 侦听器获取用户喜欢的 eventID 列表 我也使用离线持久化 从这个线程 Firestore 使用缓存直到在线内容更新 我知道侦听器将立即使用缓存中的结果触发 如果有更改结果 我将获得包含更改的另一个快