有没有办法更新云功能中的collectionGroup

2024-03-03

我正在构建一个聊天应用程序。当用户对其本地配置文件进行更新时,我想使用云功能在整个集合组中进行更新。

我成功侦听云函数中的更新并检索具有以下内容的 collectionGroups 列表:

        const collectionGroupNameref = await db.collectionGroup('collectionGroupName').where('userId', '==', data.uid).get();


collectionGroupNameref.forEach(async (val: any) => {
            const connectionsRef = await db.collection('collectionGroupName').doc(val.id).get();
 
        });

但现在我需要更新该集合组中的一个字段,这就是我遇到问题的地方。

collectionGroup 存储在 2 个位置:

users{id}collectionGroupName{id}
groups{id}collectionGroupName{id}

是否可以更新该集合组中的所有文档


Firestore 不提供任何方法来更新整个集合或集合组,例如 SQL 中的“UPDATE WHERE”。您需要做的是单独编写每个文档。因此,如果您已经对集合组中的文档执行了查询,是否可以简单地迭代结果集中的文档并根据需要更新每个文档。您可以使用 ref 属性文档快照 https://googleapis.dev/nodejs/firestore/latest/DocumentSnapshot.html轻松更新每个文档,无论该文档包含哪个集合。

const querySnapshot = await db
    .collectionGroup('collectionGroupName')
    .where('userId', '==', 'data.uid')
    .get();
querySnapshot.docs.forEach(snapshot => {
    snapshot.ref.update(...)
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法更新云功能中的collectionGroup 的相关文章

  • 如何使用 JavaScript 中的值填充下拉列表?

    我在 Tridion CMS 扩展中的功能区工具栏按钮中添加了一个按钮 单击该按钮后 将显示一个弹出页面 其中包含两个下拉菜单 通过更改第一个下拉控件中的值 我应该填充第二个下拉控件的值 就我而言 我正在使用ASP drop down li
  • 非 DOM 对象上的 jQuery 自定义事件

    我最近阅读了一些代码 其功能如下 bob name Bob Smith rank 7 bob bind nameChanged function bob trigger nameChanged 这似乎有效 但我在 jQuery 文档或源代码
  • 在网页上的文本框中键入内容时删除所有空格

    我如何在用户打字时即时删除输入到文本框中的空格 function var txt myTextbox var func function txt val txt val replace s g txt keyup func blur fun
  • 具有 Firebase (FCM) 推送通知的 Node js

    我正在使用 Node js 开发 REST api 并且有一个休息端点来发送 firebase 推送通知 我的代码如下 const bodyParser require body parser var cors require cors v
  • Jquery从下拉列表中获取所选值的id

    我有一个下拉列表 可以从数据库获取值 如下所示 get getJobs function jobs seljobs jobs var i 0 jobs forEach function n alert job id n id 32 67 4
  • 如何按照编写的顺序迭代 javascript 对象属性

    我发现了代码中的一个错误 我希望通过最少的重构工作来解决该错误 此错误发生在 Chrome 和 Opera 浏览器中 问题 var obj 23 AA 12 BB iterating through obj s properties for
  • Leaflet js虚构地图

    我是 Leaflet 的新手 我想了解如何创建完全交互式的虚构地图 我有一张图像想要转换为传单地图 该图像基本上像图表一样具有许多连接和点 我想首先将该图像转换为地图 能够将鼠标悬停在这些点上 突出显示它们并显示有关它们的信息 并且还可以在
  • 使用 CryptoJS 更改密钥 [重复]

    这个问题在这里已经有答案了 我正在使用 CryptoJS 来加密和解密文本 在这里 我只是获取消息并显示加密和解密消息 我使用DES算法进行加密和解密 这是我的 HTML 文件
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • Node.js - console.log 不显示数组中的项目,而是显示 [Object]

    我在注销对象内数组的内容时遇到问题 实际的物体看起来像这样 var stuff accepted item1 item2 rejected response Foo envelope from The sender to new item1
  • 在闪亮的数据表中为每个单元格显示工具提示或弹出窗口?

    有没有什么方法可以为 r闪亮数据表中的每个单元格获取工具提示 有很多方法可以获取悬停行或列 但我找不到一种方法来获取行和列索引并为每个单元格显示不同的悬停工具提示 任何人都可以修改以下代码吗 library shiny library DT
  • Javascript - 将值从下拉框传递到 Google Maps API

    我正在使用 Google 地图 API 为一家出租车公司创建报价表 目前 用户在 2 个文本框中输入出发点和接载点 API 会计算两点之间的距离以及行程费用 我正在尝试添加两个具有设定位置的下拉框 以便用户可以选择这些位置之一或使用文本框输
  • Google Chrome 106 可拖动导致元素消失

    使用拖放元素时 绝对定位元素中包含的大多数其他元素都会从屏幕上消失 如果我调整窗口大小 这些元素会出现 但在开始拖动时会再次消失 我在最新版本的 Google Chrome 106 和 Beta 版本 107 0 5304 18 以及现在的
  • 未捕获的错误:找不到模块“jquery”

    我在用Electron https github com atom electron制作桌面应用程序 在我的应用程序中 我正在加载一个外部站点 Atom 应用程序之外 可以说http mydummysite index html http
  • 如何在 Angular 中从父组件访问子组件?

    I have mat paginator在子组件a中 如下所示 子组件 html
  • JavaScript onresize 事件多次触发

    我在尝试仅在触发 onresize 事件时运行一次函数时遇到一些麻烦 我已经看过这个问题DOM onresize 事件 https stackoverflow com questions 1500312 javascript onresiz
  • 数据表日期范围过滤器

    如何添加日期范围过滤器 like From To 我开始进行常规搜索和分页等工作 但我不知道如何制作日期范围过滤器 我正在使用数据表 1 10 11 版本 My code var oTable function callFilesTable
  • 需要有关 React Js 的帮助

    我是 React Js 新手 我的代码无法正常工作 请看下面 这是我的脚本文件Main jsx 该文件由 React 编译 输出放置在 dist 文件夹下的 main js 文件中 var react require react react
  • 使用异步调用时如何从 javascript 更新元刷新?

    我有一个系统 它使用元刷新来注销页面 该系统会在空闲用户后进行清理 不用担心 服务器也会导致会话超时 我开始通过 ajax 进行一些操作 不是真正的 xml 但这不是重点 我可以运行从异步请求返回的javascript 所以我想知道是否可以
  • KeyboardAvoidingView - 隐藏键盘时重置高度

    我正在使用 React NativeKeyboardAvoidingView设置我的高度View当显示键盘时 但是当我关闭应用程序中的键盘时 视图的高度不会变回原来的值

随机推荐

  • Excel 两个时间之间的 IF AND 公式

    我想要一个公式 它可以告诉我单元格中的时间是否在其他单元格中的两个单独值之间 如果是 则返回一个值 我已经创建了下面的代码 但这根本不返回任何值 IF AND F4 gt R 1 F4
  • 在 PostgreSQL 中创建约束时,有没有办法处理 JSON 数组的所有元素?

    PostgreSQL 是否提供任何符号 方法来施加约束eachJSON 数组的元素 一个例子 create table orders data json insert into orders values order id 45 produ
  • Python:repr 与反引号

    在Python中 有什么区别repr和反引号 1 左边 用于演示 class A object def repr self return repr A def str self return str A gt gt gt a A gt gt
  • 如何在 AspNet5 / Mvc6 中检测 dnx451 Web 应用程序关闭?

    为了能够关闭后台进程 使用 Quartz Net 实现 我需要检测 AspNet5 beta8 中的 Web 应用程序关闭 在以前版本的 Asp Net 中 可以在 Application End 上执行代码 AspNet5 中的 Appl
  • 如何从BitmapImage获取BitmapSource?

    如何从BitmapImage获取BitmapSource 或者如何直接将BitmapImage转换为BitmapFrame 在我看来 如果我有 BitmapSource 我可以使用 BitmapFrame Create 并最终从给定的 Bi
  • Netbeans GUI 预览与运行时视图不同

    我正在使用 NetBeans 及其 GUI 编辑器开发一个简单的 Java 应用程序 我坚持创建一个简单的对话框 运行时它看起来与我设计的以及编辑器中预览的不同 基本上 单击按钮就会出现我的对话框 private void jButton1
  • 模拟 GCC 语句表达式

    我被迫使用 IAR EW430 编译器 v7 12 进行嵌入式项目 并且它仅正式支持 c99 我希望能够通过除了编写一堆专用内联函数之外的任何方式以通用方式模拟 GCC 的语句表达式 有什么办法可以实现这一点吗 也许使用 MACRO wiz
  • 在 Jupyter Notebook 中的任意位置重命名变量

    有没有办法重命名当前 jupyter 笔记本文件中各处的变量 IE 假设我的笔记本通过我的脚本在多个函数和位置引用变量 foo 后来我决定将此变量重命名为 bar 以获得更好的可读性 在 Xcode 中 您可以突出显示并右键单击来执行此操作
  • 如何使用 Webdriver 和 C# 通过 Selenium 定位并单击嵌套在多个框架和框架集中的元素

    我有如下所示的 html 页面 我需要单击 clslogin 类中的 登录 如何遍历找到登录名 我正在使用 C 和 selenium Webdriver 使用 XPath html body div table tbody tr 1 td
  • 它如何获得比我想要的更多的内存?(C++)[重复]

    这个问题在这里已经有答案了 我想要一个1整数内存 但是这个程序如何工作呢 Code include
  • Passport-jwt 令牌过期

    我正在使用 Passport jwt 生成我的令牌 但我注意到令牌永远不会过期 有没有办法根据为我设置的规则使特定令牌失效 例如 use strict const passport require passport const passpo
  • 为python配置Vs code 2.0.0版本构建任务

    我需要帮助来配置我的 Vs 代码以使用 Cntrl Shift B 在 python 中运行脚本 我工作得很好 直到 Vs 代码升级到版本 2 0 0 现在它要求我配置构建 我不知道构建是什么 过去 当我只需要配置任务运行程序时 它效果很好
  • 计算圆交点 O( (n+s) log n)

    我试图弄清楚如何设计一种算法 可以以 O n s log n 复杂度完成此任务 s 是交叉点的数量 我尝试在互联网上搜索 但找不到真正的东西 无论如何 我意识到拥有良好的数据结构是关键 我在java中使用红黑树实现 TreeMap 我还使用
  • Solr 索引 My SQL 时间戳或日期时间字段

    要在 Solr 中索引日期 日期应采用 ISO 格式 我们可以在不修改 SQL Select 语句的情况下索引 MySQL Timestamp 或 Date Time 字段吗 我用过
  • 如何使用 Flask 和 sqlalchemy 进行选择查询?

    我是 Flask 和 SQLAlchemy 的新手 我在 postgress 有一个数据库 该数据库有表 数据 200 条记录 我想做一个 Select 语句 但当我这样做时总是给我同样的错误 这是我的代码 这是我的模型 py from s
  • DateTime.AddYears 在闰年的行为

    在 DateTime 上使用 AddYears 方法时 任何人都可以解释 NET 中闰年计算背后的数学或简单推理吗 如果您将 2012 年 2 月 29 日加上一年 您将得到 2013 年 2 月 28 日 而不是 2013 年 3 月 1
  • 如何在 Scala 中为泛型类型提供默认类型类?

    在 Scala 中 如果你创建一个类型类 比如代数结构Monoid T 您可以为不同类型的幺半群提供许多默认类型类实现 假设幺半群定义为 trait Monoid T def op x T y T T def id T Since Stri
  • 具有三个表的递归 CTE

    我正在使用 SQL Server 2008 R2 SP1 我想通过 沿着树向上走 来递归地找到某个组织单位的第一个非空经理 我有一张包含组织单位 ORG 的表 一张包含每个组织的父级的表 ORG 中的单位 我们将该表称为 ORG PAREN
  • 如何清除 firebase 云消息通知?

    我使用firebase云消息向手机发送消息 并且可以成功接收通知 但在某些情况下 我不会单击通知来打开我的应用程序 而是手动打开应用程序以进入前台 我想要的是当我打开应用程序时 通知栏中的通知应该自动清除 以下代码将清除您的应用程序的所有通
  • 有没有办法更新云功能中的collectionGroup

    我正在构建一个聊天应用程序 当用户对其本地配置文件进行更新时 我想使用云功能在整个集合组中进行更新 我成功侦听云函数中的更新并检索具有以下内容的 collectionGroups 列表 const collectionGroupNamere