Firebase 使用安全规则删除子项!写入时存在 data.exists

2023-11-26

我有一个用于添加新数据的安全规则

 "CATEGORIES": {
      "$CATEGORIES": {
      ".write":   "root.child('USERS/' + auth.uid + '/type').val() == 'admin' && !data.exists() || root.child('USERS/' + auth.uid + '/type').val() == 'admin' && root.child('MODES/delete').val() == 'yes'",
       "$DATA": {
         ".write":   "root.child('USERS/' + auth.uid + '/type').val() == 'admin'",
       }
      }
      }

它用于防止子节点重复或被覆盖!data.exists() rule.

问题是,它不会让我删除具有此规则的子项,因为数据存在。为了解决这个问题,我添加了root.child('MODES/delete').val()如果我将其设置为“是”,则允许我删除它。

我怎样才能拥有它,这样我就不必做这个工作了?所以我可以没有重复项,但如果我愿意的话也可以删除孩子?


为了允许创建但不允许覆盖,!data.exists()工作正常。要允许删除,您可以使用!newData.exists().

所以大家在一起:

// create or delete, but no update/overwrite
".write":  "!data.exists() || !newData.exists()"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase 使用安全规则删除子项!写入时存在 data.exists 的相关文章

  • 没有为类型“Object”定义运算符“[]”。尝试定义运算符“[]”

    我的代码在下面给出了我在这一行中从 firebase 访问用户名时遇到的问题的错误 snapshot data username 它给出了上面提到的错误 我知道访问地图数据的唯一方法是这个 FutureBuilder future Fire
  • Firebase Function 从其他文件导入函数 - javascript

    我正在使用 javascript 构建 firebase 函数 现在我有很多内部调用函数 我计划将这些函数移动到不同的文件中 以避免 index js 变得非常混乱 下面是当前的文件结构 functions index js interna
  • 如何将 Cloud Firestore 数据库集合下载到 JSON 或 CSV 文件中?

    好的 事情是这样的 我已经在 Flutter Firebase 项目上工作了一段时间 现在我的客户想知道是否有机会从 Cloud Firestore 数据库的某个集合中获取 CSV o JSON 文件 以便稍后使用由Power Bi或其他一
  • Firebase 远程配置 - 初始获取返回本地默认值

    我正在使用 Firebase 远程配置来获取远程数据 并且我的应用程序需要首次启动时的最新数据 我正在我的应用程序中进行获取和更新onCreate mFirebaseRemoteConfig fetch cacheExpiration ad
  • 带有 Firebase 通知的 Flutter Web - subscribeToTopic

    我想在我的 flutter web 应用程序中接收 firebase 通知 我知道 firebase messaging 包不可用于网络 但我已经管理配置我的应用程序以获取令牌 在网络应用程序位于后台时接收并显示消息 并在应用程序位于前台时
  • 是否可以使用 Firebase 安排推送通知? [复制]

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

    我正在开发一个聊天库 我想在其中显示登录用户的对话 制作该库的原因是我想将其集成到多个项目中 我现在面临的问题是FirebaseAuth表示用户尚未登录 FirebaseAuth getInstance mFirebaseApp getCu
  • 将 Firebase 云消息传递与 Windows 应用程序结合使用

    我在 Android 和 iOS 应用程序中使用 Firebase Cloud Messaging 但是我还有此应用程序的 Windows Mac OS 版本 我想保留相同的逻辑 我知道 Firebase Cloud Messaging 可
  • 有没有办法在 Firebase 中等待查询完成?

    我正在使用 TableView 在 Viewcontroller 中的 iOS 应用程序中进行查询 我想确保在继续加载 TableView 之前我的查询已经返回 有没有办法保证查询已经完成 None
  • 找不到 com.google.firebase:firebase-core:9.0.0 [重复]

    这个问题在这里已经有答案了 在遵循有些不一致的指示之后here https firebase google com docs admob android quick start name your project and here http
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • 具有多个 orderBy 的 Android firebase 查询

    我想检索我的 firebase 数据库中所有类型为 福音 的数据 这是我的数据库 DatabaseReference infoRef FirebaseDatabase getInstance geReference child info i
  • 使用电子邮件、用户名和密码进行 Firebase 身份验证

    我想知道是否可以使用电子邮件和用户 ID 密码登录 我有一个项目 我希望用户添加一个唯一的号码 实际上是我们公司提供的工作识别号码 以便能够签名参与该计划的人员将继续留在公司就业 即使电子邮件和密码正确但用户 ID 错误 我也需要 fire
  • firebase createUser 无需登录[重复]

    这个问题在这里已经有答案了 我的管理员用户可以创建其他用户 但每次创建用户时 我的管理员用户都会注销 新用户会自动登录 有什么方法可以在不登录的情况下创建用户吗 None
  • firebase :: 无法读取 null 的属性“props”

    你好 我正在尝试将react router与firebase一起使用 但它给了我这个错误 无法读取 null 的属性 props 这正是代码 我正在其中使用我的反应路由器 向下代码位于作为登录面板组件的组件上 else if this em
  • 导出火力基地

    我想知道是否可以频繁 循环 导出 firebase 数据 可能作为 JSON 对象 我问这个问题的主要原因是因为我想在特定时间点捕获数据 以便对它们执行一系列分析 识别特定模式 我对属于 Firebase API 一部分的任何操作 方法感兴
  • 使用 AngularFire 的限制

    这是我现在的代码 var url https firebaseio com photos var promise angularFire url scope photos promise then function limit here 我
  • 如何在Firebase Android应用程序中分离两个不同的用户?

    我有一个应用程序 有两种不同类型的用户 一种是教师 第二种是普通用户 如果普通会员登录 他会去normal memberActivity如果他是教师会员 他会去Teacher memberActivity 我如何在登录活动中执行此操作 我的
  • NoClassDefFoundError:com.google.firebase.FirebaseOptions

    我继续得到NoClassDefFoundError在我正在使用的其他测试设备 4 4 2 上 但在我的测试设备 Android 5 1 上运行良好 我尝试了用谷歌搜索的解决方案 但似乎没有任何效果 我正在使用 Firebase 实时数据库
  • FIRApp 链接器错误 [“_OBJC_CLASS_$_FIRApp”]

    我已经搜索过 SO 和 Google 但找不到有效的答案 我已经在多个项目中使用了新的 Firebase Cocoapod 但是现在 当将其添加到不同的项目时 我收到以下错误 我正在使用 Xcode 7 3 1 和 cocoapods 1

随机推荐

  • 在 Android API 19 (4.4) 上,intent.createChooser 方法会导致 IntentServiceLeak

    在新的 Android KitKat 设备 API 19 4 4 上运行我的应用程序时 每次尝试创建意图选择器时 我都会收到 已复制到剪贴板 的消息 这种情况发生在 Youtube Tumblr 和 Android KitKat 上的各种其
  • 操纵数据以更好地拟合高斯分布

    我有一个关于正态分布的问题 mu 0 and sigma 1 假设我首先这样调用 randn 或normrnd x normrnd 0 1 4096 1 x randn 4096 1 现在 为了评估 x 值对正态分布的拟合程度 我调用 a
  • C 代码仍然被视为 C++ 吗?

    评论给这个答案让我想知道 我一直认为 C 是 C 的真子集 也就是说 任何有效的 C 代码通过扩展都是有效的 C 代码 我这样说有错吗 是否可以编写一个有效的 C 程序而不是有效的 C 代码 编辑 这确实类似于 但不完全重复这个问题 一般来
  • 使用 pip 重新安装需求文件

    我尝试使用 pip 重新安装项目的要求 但收到此错误 之前有一个失败的安装 我怎样才能删除它并继续 E projects project course tkz gt pip install r requirements txt Downlo
  • Rails 最好的后台作业管理库是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 自从我上次在 Rails
  • 无法使用应用程序加载器上传 iOS 应用程序

    厌倦了与苹果公司撞墙 所以我在这里问这个问题 应用程序加载器卡在 正在将包上传到 iTunes Store 显示 37 7 MB 中的 616 字节 0 字节 秒 截屏 它会保持这种状态大约 20 分钟 然后显示一条不确定的错误消息 发生异
  • Minikube 将在本地主机上运行的 MySQL 作为服务公开

    我的机器上运行着 minikube v0 17 1 版本 我想模拟 AWS 中的环境 其中我的 MySQL 实例将位于 Kubernetes 集群之外 基本上 如何将我的机器上运行的本地 MySQL 实例暴露给通过 minikube 运行的
  • 如何设置Y轴的最大值和最小值

    I am using line chart from http www chartjs org 正如您所看到的 Y 轴的最大值 130 和最小值 60 是自动选择的 我希望最大值 500 最小值 0 这可能吗 对于 Chart js V2
  • Python:使用 mysqldb 将 MySQL 表作为字典导入?

    有人知道如何使用 mysqldb 将包含大量行的 MySQL 表转换为 Python 中的字典对象列表吗 我的意思是 将一组包含 a b 和 c 列的 MySQL 行转换为如下所示的 Python 对象 data a A b 2 4 c 3
  • 在 JBoss 中部署的 java servlet 中加载属性文件作为 war

    我在 JBoss 4 0 2 中部署了一个 servlet 作为 war 我有一个已部署应用程序的属性文件 我应该把这个文件放在哪里 jboss server default conf文件夹下的conf目录下 如何以可移植的方式加载该属性文
  • 如何在 Handlebars 中引用当前迭代的对象

    有没有办法获取Handlebars中当前迭代的对象 code 我已经提到过processObject 这是不正确的 这就是我需要更换 解决方案的地方 希望你明白我想说的 的内容objArr可能看起来像 var objArr objField
  • android 获取视频缩略图路径,而不是位图

    是否可以获取视频缩略图 PATH 而不是 Bitmap 对象本身 我知道方法 MediaStore Images Thumbnails queryMiniThumbnail 但由于我使用自己的位图缓存机制 我希望拥有视频缩略图的路径而不是位
  • 在 grails 中插入的 SQL 查询

    如何在 grails 中执行纯 sql 我需要使用 sql 查询在数据库中插入新记录 我们如何在不使用 HQL 和 gorm 关系的情况下实现这一目标 thanks groovy sql Sql 简化了执行 JDBC 查询的细节 在 Gra
  • UIPanGestureRecognizer 有时无法在 iOS 7 上运行

    我收到 iOS 7 用户的间歇性报告称UIPanGestureRecognizer每隔一段时间就会停止处理某些视图 他们应该能够向右 向左滑动视图 但它只是中断并且由于某种未知原因而无法工作 强制退出应用程序并重新启动即可解决问题 这个问题
  • 如何在play框架项目中使用相对路径访问资源文件?

    我的 play 框架项目使用资源文件 例如我在资源目录下创建的 CSV 文件 这些文件是我直接在 play 项目根目录下创建的 因此它与其他目录 如 app public 等 处于同一级别 从 Java 或 Scala 文件中如何打开此类文
  • find 和Where 与关系之间的区别

    我不认为在活动记录和查找数据方面有什么区别 这是我的模型 class User lt ActiveRecord Base has many shows end class Show lt ActiveRecord Base belongs
  • 如何从主方法调用非静态方法? [复制]

    这个问题在这里已经有答案了 例如 我正在尝试做这样的事情 public class Test public static void main String args int arr new int 5 arrPrint arr public
  • 为什么 array.reduce() 从索引 1 开始

    我想知道为什么索引在array reduce 在下面的示例中从 1 而不是 0 开始 11 22 33 44 reduce acc val index gt console log val This outputs 22 33 and 44
  • JavaScript 迭代器

    我在浏览 MDN Mozilla 开发者网络 时遇到了迭代器和生成器 很自然地 我尝试了 Google Chrome v21 页面中给出的代码片段 具体来说 这段代码 var it Iterator lang for var pair in
  • Firebase 使用安全规则删除子项!写入时存在 data.exists

    我有一个用于添加新数据的安全规则 CATEGORIES CATEGORIES write root child USERS auth uid type val admin data exists root child USERS auth