只检索更改的文档字段

2023-12-15

我发现监听文档变化会总是一遍又一遍地下载完整的文档.

在以下情况下我遇到问题:文档的大小正在接近1 MiB(这是文档大小的限制)。现在,有一个number场即仅字段更新,这只是几个字节。但是,收听此更改(例如对帖子的点赞)将始终下载完整的1 MiB数据,尽管几个字节就足够了。

我知道我可以移动占据大部分的数据1 MiB到单个文档的子集合,但这不仅是不惯用的看起来非常违反直觉,但也显着增加了我的 Firestore 账单,因为我需要two代替one最初读取文档以检索数据。

还有其他方法可以解决这个问题吗?


Firestore 始终返回完整的文档。没有办法让它返回文档中字段的子集,也没有通过显式请求这些字段(类似于SELECT FIELD1, FIELD2声明),也不是隐式询问(就像您只需要修改的字段一样)。

如果您想限制频繁更改且负载较大的文档的带宽使用,则将数据的静态部分放在单独的文档中的解决方法是有效的。

另请参阅:

  • 如何在 Swift 中从 Cloud FireStore Firebase 访问特定字段
  • Firestore - 从文档中获取特定字段
  • 如何仅允许公开访问 firestore 文档的特定字段
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

只检索更改的文档字段 的相关文章

随机推荐

  • 如何为apache+wsgi网站设置LD_LIBRARY_PATH

    我正在尝试在基于 wsgi apache Flask 的网站中使用 python 库 在独立命令脚本中使用该库时 我必须将库路径添加到 LD LIBRARY PATH 所以这适用于独立脚本 export LD LIBRARY PATH us
  • 从字符串中解析多项式系数

    我正在尝试构建一个正则表达式来解析字符串中多项式的系数 我以为我已经找到了解决方案 直到我发现一个特定的示例 我怀疑该示例格式错误 破坏了我的正则表达式 我也不确定我的解决方案是最优雅的 以下是我需要解析的字符串的一些示例 polys 1x
  • 如何在 spigot 1.16.4 中获取玩家的 ping

    我尝试以多种方式使用 java 反射来获取玩家的 ping 值 但在 100 时 它返回 0ms 我已经搜索了很长时间 所以 有人可以帮助我吗 Try 1 public static int getPing Player p try Obj
  • ActualWidth 作为 From WPF 动画的值

    为什么我不能参考ActualWidth作为一个值 我可以在代码中使用它 XAML
  • Javascript 和 ESLint 中的全局变量

    我有多个 javascript 文件 并且在一个文件中定义了一些全局变量 该变量先于其他文件加载 因此 第一个文件之后加载的所有文件都可以访问全局变量 然而 ESLint 将全局变量显示为 未定义 我不想改变 ESLint 的规则 我想找到
  • noRollbackFor 并不总是处理未经检查的异常(不重复)

    我见过很多类似的问题 但它们通常与我的问题无关 这是我的代码 Override class implements interface can also add rollbackFor OutOfMemoryError class here
  • Android Studio 中的 lint 如何与 IntelliJ 检查集成?

    据我所知 Android Studio中有两种类型的检查 一种是从IntelliJ继承的 另一种是从lint继承的 参见 命令行上的 Android lint 缺少问题组 与 Android Studio 中提供的选项相比 我还了解到 当您
  • 我可以使用 Arrays.asList 创建数组列表吗?

    假设我想创建一个包含 Integer 数组的列表 但 Integer foo 1 2 3 List
  • 如何在 php 中以编程方式从选项卡获取 IMEI 号码 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 当我的网页加载到浏览器中时 我需要从 Android 设备获取 IMEI 号码 页面将用
  • 在 Thinking Sphinx 中使用 Delta 索引进行关联

    我有一个产品型号 class Product lt ActiveRecord Base belongs to subcategory define index do fields indexes subcategory name as gt
  • 如何将 PHP 数组参数传递给 Javascript 函数?

    index php
  • 如何向所有用户授予我的应用程序创建的文件的完全权限?

    我开发的工具需要授予对其创建的文件 完全控制 访问权限 需要从所有 Windows 帐户甚至未来可能的帐户中读取 修改和删除它 这能实现吗 我知道我可以为特定用户尝试这个 FileSystemAccessRule rule new File
  • Xamarin.iOS 本机链接错误 MTOUCH MT5210 未定义符号 std::string

    我的 Xamarion iOS 绑定项目具有指向所有必需的本机视频 SDK 库和本机操作系统框架的链接 我已经使用 Frameworks 属性设置了所需的框架 其他设置包括 SmartLink true ForceLoad true IsC
  • ClearCase 不允许签入

    我对 ClearCase 相当陌生 但已经搜索了以下问题的很多解决方案 但没有成功 当我尝试办理登机手续时 出现以下错误 我的文件 检查时出错 没有权限执行 签入 操作 必须是以下之一 对象创建者 元素所有者 VOB 所有者 ClearCa
  • Neo4j 因果集群优于高可用性集群

    我们正在将 HA 集群迁移到因果集群 从 HA 集群迁移到因果集群有什么真正的优势吗 目前仅使用 REST 端点 是否可以仅使用两个 Neo4j 实例进行因果聚类 谢谢 因果集群是新一代的 Neo4j 集群 它将随着新版本的发布而不断发展
  • 实现 NHibernate 嵌套事务行为

    我正在尝试使用 NHibernate 的事务控制和 FlushMode 选项来实现某种嵌套事务行为 但是在阅读过多之后事情变得有点混乱 因此对我下面列出的事实的任何确认都将非常有用 我想要的是打开一笔大交易 然后拆分成小交易 想象一下以下场
  • 通过将 data.frame 的列名传递到 apply() 或 plyr 函数来替换所选列中的值

    假设我有一个 date frame 像 df lt data frame a 1 5 b sample 1 5 5 replace TRUE c 5 1 df a b c 1 1 4 5 2 2 3 4 3 3 5 3 4 4 2 2 5
  • 在 R 中创建重复向量序列[重复]

    这个问题在这里已经有答案了 我需要一些帮助 如何创建以下向量序列 1 1 1 1 2 2 2 3 3 4 我尝试使用 rep 和 seq 但仍然不成功 尝试这个 rep 1 4 4 1 Output 1 1 1 1 1 2 2 2 3 3
  • “cscript //NoLogo”代表什么?

    这是一个java程序代码 运行记事本程序并粘贴存储在该程序本身中的特定文本 我想知道你能否向我解释一下String vbs值 以及File file 以及 cscript NoLogo file getPath in the Process
  • 只检索更改的文档字段

    我发现监听文档变化会总是一遍又一遍地下载完整的文档 在以下情况下我遇到问题 文档的大小正在接近1 MiB 这是文档大小的限制 现在 有一个number场即仅字段更新 这只是几个字节 但是 收听此更改 例如对帖子的点赞 将始终下载完整的1 M