Firebase - 如何一次删除多个条目?

2024-01-27

我该如何删除all给定推送 ID 的条目?

例如,假设KoxoxwTqfb50E1Gvi9F推送 ID 位于我的数据库的许多位置,即在许多键下,我想删除所有条目KoxoxwTqfb50E1Gvi9F立即而不是静态删除所有条目(因为我知道它们的位置)。

换句话说,有没有办法告诉 Firebase“删除所有条目KoxoxwTqfb50E1Gvi9F整个数据库”?


为了从数据库中删除多个条目,您需要知道所有这些位置(引用)。换句话说,在你添加数据的同时,你也应该删除它。

假设您的数据库如下所示:

Firebase-root
   |
   --- Users
   |     |
   |     --- userUid1
   |     |      |
   |     |      --- //user1 data
   |     |
   |     --- userUid2
   |            |
   |            --- //user2 data
   |
   --- Groups
         |
         --- groupId1
         |      |
         |      --- //group1 data
         |      |
         |      --- Users
         |            |
         |            --- userUid1: true
         |            |
         |            --- userUid3: true
         |
         --- groupId2
                |
                --- //group2 data

我建议您使用以下方法:

private static void deleteUser(String userId, String groupId) {
    Map<String, Object> map = new HashMap<>();
    map.put("/Users/" + userId + "/", null);
    map.put("/Groups/" + groupId + "/Users/" + userId + "/", new HashMap<>().put(userId, null));
    //other locations
    databaseReference.updateChildren(map);
}

此方法自动删除所有这些条目。使用这些路径,您可以通过一次调用同时更新 JSON 树中的多个位置deleteUser()方法。以这种方式进行的同时删除是原子的:要么所有更新成功,要么所有更新失败。

希望能帮助到你。

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

Firebase - 如何一次删除多个条目? 的相关文章

  • 使用 ADB 命令获取 IMEI 号码 Android 12

    对于 11 之前的 Android 版本 我使用以下命令从我的设备获取 IMEI 号码 adb shell service call iphonesubinfo 4 cut c 52 66 tr d space or adb shell s
  • 调试:在 Android 1.0 中找不到文件

    今天我更新到 Android Studio v 1 0 在尝试编译任何项目时出现以下错误 app build intermediates classes debug 找不到文件 问题是在更新之前我没有任何问题 这是我实际尝试编译的代码 构建
  • 如何解决 Firebase AuthUi 中无法找到显式活动?

    使用 firebase UI 时 我无法找到显式活动类 com firebase ui auth KickoffActivity protected void onCreate Bundle savedInstanceState super
  • Android在排序列表时忽略大小写

    我有一个名为路径的列表 我目前正在使用以下代码对字符串进行排序 java util Collections sort path 这工作正常 它对我的 列表进行排序 但是它以不同的方式处理第一个字母的情况 即它用大写字母对列表进行排序 然后用
  • 是否可以使用 Firebase 安排推送通知? [复制]

    这个问题在这里已经有答案了 我已经阅读了我能找到的所有文档 但仍然不知道这是否可行 如果我是用户 我可以安排特定时间的推送通知吗 Example 1 我是用户并打开应用程序 2 我允许通知并转到 pickerView 或其他任何内容 并设置
  • 如何检查 Android 中连接的 wifi 网络是否处于活动状态

    如何自动检查android中连接的WiFi网络上的互联网是否处于活动状态 我可以检查 wifi 是否已启用或 wifi 网络是否已连接 但我不确定如何检查互联网是否已连接 这可能吗 private boolean connectionAva
  • Android Studio:未找到 Gradle DSL 方法:“classpath()”

    首先 我已阅读所有其他解决方案帖子以及有关迁移到 1 0 的官方文档 到目前为止 还没有任何效果 Error Error 23 0 Gradle DSL method not found classpath Possible causes
  • 如何在 Android 模块中使用 FirebaseAuth

    我正在开发一个聊天库 我想在其中显示登录用户的对话 制作该库的原因是我想将其集成到多个项目中 我现在面临的问题是FirebaseAuth表示用户尚未登录 FirebaseAuth getInstance mFirebaseApp getCu
  • Java 文件上传速度非常慢

    我构建了一个小型服务 它从 Android 设备接收图像并将其保存到 Amazon S3 存储桶中 代码非常简单 但是速度非常慢 事情是这样的 public synchronized static Response postCommentP
  • 获取手机的 z 轴和磁北极(而不是 y 轴)之间的角度

    我知道如何使用 getOrientation 方法获取手机 y 轴和磁北之间的方向角 如此处所述https developer android com guide topics sensors sensors position https
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • 为 Node.js 客户端应用程序保留 Firebase 用户

    我正在使用 Firebase 构建 Node js 命令行界面 CLI 用于与后端进行身份验证 我想避免让用户每次运行命令时都输入密码 相反 我想实现一个 登录 流程 将凭证保留到文件系统 该凭证可用于后续的无密码身份验证 直到用户 注销
  • PhoneStateListener 不调用

    这是我的完整代码 广播示例 java package com example broadcast gt import android app Activity import gt android content Context import
  • 哪些 Flutter 插件或功能可以利用外部 iOS/Android 显示器来显示与主显示器不同的内容

    我正在构建一个跨平台应用程序 需要在外部显示器上显示不同的视图 通常通过连接到 LCD 投影仪的 HDMI 适配器电缆连接 Flutter 是否能够在内置的外部显示器上显示不同的屏幕 在现有的 Flutter 插件中还是使用现有的 Flut
  • Android:监听状态栏通知

    有没有办法在状态栏被下拉时监听通知 1 用于检测状态栏变化 您可以注册一个监听器来获取系统UI可见性变化的通知 因此 要在您的活动中注册侦听器 Detecting if the user swipe from the top down to
  • Android:RecyclerView 不显示片段中的列表项

    有人可以帮我尝试让我的 RecyclerView 出现吗 如果我不在片段中实现它 就会出现这种情况 然而 当我尝试将其实现到片段中时 CarFront 中的其他 XML 代码与 RecyclerView 分开显示 我的日志中收到此错误 E
  • 错误:无法创建新会话,因为找不到需要 HttpClient、InputStream 和 long 的“createSession”

    我正在尝试自动化 Android 混合应用程序 但出现以下错误 1 线程 main org openqa selenium WebDriverException中出现异常 无法创建新会话 因为未找到需要 HttpClient InputSt
  • javafx android 中的文本字段和组合框问题

    我在简单的 javafx android 应用程序中遇到问题 问题是我使用 gradle javafxmobile plugin 在 netbeans ide 中构建了非常简单的应用程序 其中包含一些文本字段和组合框 我在 android
  • 在Android Studio gradle项目中使用NDK和STL

    我在将 stlport 链接到 Android Studio 中的 gradle 项目时遇到问题 使用 NDK 的 Eclipse Android 项目迁移到 Android Studio 该项目使用 STL 我有包含内容的 android
  • 如何在片段中实现 onBackPressed() 和意图?

    我知道 onBackPressed 是活动中的一种方法 但是 我想在片段中使用该功能 以便当按下后退按钮时 它会通过 Intent 重定向到另一个活动 有什么办法解决这个问题吗 public class News Events fragme

随机推荐

  • 无法找到软件包 openssl-dev

    我正在尝试使用 Ubuntu 18 04 在 Linux 上安装 ROOT CERN 软件包 每当我进入先决条件下载时 都使用以下命令 sudo apt get install dpkg dev cmake g gcc binutils l
  • 接口继承一致性

    首先看这段代码 class Program static void Main string args var x Base new Derived IMethod x DoWork Console ReadKey interface IMe
  • 背包0-1个定量

    我正在编写具有多个约束的背包 0 1 的变体 除了重量约束之外 我还有数量约束 但在本例中 我想解决背包问题 因为我的背包中需要恰好有 n 件物品 且重量小于或等于 W 目前正在为简单的 0 1 案例实现动态编程 ruby 解决方案 基于
  • 身份验证:JWT 使用与会话

    在身份验证等情况下 使用 JWT 相对于会话有什么优势 它是作为独立方法使用还是在会话中使用 JWT 本身并没有使用 会话 的优势 JWT 提供了一种在客户端维护会话状态的方法 而不是在服务器上进行维护 人们在问这个问题时通常的意思是 使用
  • file.slim.js 中的 slim 是什么

    请原谅我的无知 但我刚刚使用 npm 安装了 jQuery 并且在 jQuery 文件之间有一个名为jquery slim js 什么是slim 我知道min代表缩小但苗条对我来说是新的 顺便说一句我很确定slim不像min因为还有另一个文
  • Bash 条件:如何使用“and”表达式? (如果 [ ! -z $VAR && -e $VAR ])

    我想我不清楚如何进行 和 测试 我想确保存在一个可以很好地工作的论点 e VAR 但事实证明 在空字符串上也计算为 true 这是我不想要的 我如何将它们 和 在一起 或者是否有另一个一元测试可以实现我想要的 if z var e var
  • Julia 中的复制和深复制有什么区别?

    我试图理解之间的区别copy and deepcopy 在朱莉娅 根据我读到的内容朱莉娅文档 https docs julialang org en v1 base base Base copy这好像是deepcopy 复制这些值 然后创建
  • 适用于 iOS 的 Google 地图 API myLocationEnabled 无法正常工作

    我正在尝试使用 Google Maps API 但在获取用户位置时遇到问题 观察到的值似乎永远不会改变 因为observeValueForKeyPath 从未被调用 注意 我正在运行 Xcode 6 Beta 5 和 iOS 8 beta
  • 在 Swift 中使用 AWSTask 对象的正确方法是什么?

    您好 提前感谢您的宝贵时间 在我的代码中 我向 AWSSQS 发出各种请求 这些请求都返回 AWSTask 我发现使用这些 AWSTask 对象非常困难 同时还试图将特定于 AWS 的所有逻辑保留在单个类中 以便我可以在需要时轻松切换到不同
  • 应用程序根目录的默认路由

    我该如何告诉我的mvc 应用程序路由到特定Controller and Action当它们没有被指定时 调试时http localhost 54500 应该路由到http localhost 54500 Home Index 目前我有 ro
  • 在 Devise 中为用户手动登录时,如何将“记住我”设置为“是”?

    In Devise http github com plataformatec devise 我像这样登录我的用户 sign in and redirect user user 在默认登录页面中 有一个复选框可供用户选择 这样他们返回站点时
  • 如何在Android中打开现有的Fragment交易?

    如何在Android中打开现有的Fragment交易 是否用于将现有片段替换为操作栏中下拉列表中的新片段 以防万一这就是您所要求的 请更改 FragmentTransaction ft openFragmentTransaction to
  • Tomcat 7 - JSESSIONID cookie 无法从 JavaScript 代码访问

    有谁知道 Tomcat 6 和 Tomcat 7 之间的配置发生了什么变化会导致JSESSIONIDcookie 无法通过 JavaScript 访问 使用 Tomcat 6 alert document cookie JSESSIONID
  • 如何配置log4j2具有两个根级别?

    我想按以下方式配置 log4j2 向 Sentry 报告错误事件 将 INFO 事件报告到日志文件 就像是
  • 边距和填充之间的区别?

    到底有什么区别margin and padding在CSS中 看来确实没有多大用处 您能否举个例子来说明差异所在 以及为什么了解差异很重要 padding是内容和内容之间的空间border 然而margin是边界之外的空间 这是我从谷歌快速
  • 如何在 Spring Rest Controller 中区分部分更新的 null 值和未提供的值

    当使用 Spring Rest Controller 中的 PUT 请求方法部分更新实体时 我试图区分 null 值和未提供的值 考虑以下实体作为示例 Entity private class Person Id GeneratedValu
  • 为有效信用卡生成随机数的好方法是什么?

    我正在用 Java 开发一套用于验证和使用信用卡的工具 到目前为止 我支持 卢恩验证 日期验证 简单到期 基于品牌 Visa MasterCard 等 的卡代码长度验证 CVV CVC CID 信用卡号长度验证 基于品牌 BIN IIN 验
  • pandas groupby 可以将 DataFrame 转换为 Series 吗?

    我想使用 pandas 和 statsmodels 在数据帧的子集上拟合线性模型并返回预测值 但是 我无法找出正确的 pandas 习惯用法 这是我正在尝试做的事情 import pandas as pd import statsmodel
  • 如何为 AWS Lambda nodejs 运行时构建单个 js 文件

    我们正在研究一个项目 框架 https github com jaws stack JAWS tree v1 0有助于在 AWS Lambda 中部署和维护代码 我想将 lambda 函数的所有 node js 代码构建 捆绑到一个 js
  • Firebase - 如何一次删除多个条目?

    我该如何删除all给定推送 ID 的条目 例如 假设KoxoxwTqfb50E1Gvi9F推送 ID 位于我的数据库的许多位置 即在许多键下 我想删除所有条目KoxoxwTqfb50E1Gvi9F立即而不是静态删除所有条目 因为我知道它们的