在Firestore中,我有一个拥有所有者的项目集合。
所有者可以是用户,应该允许用户读取其文档。
使用userid
可以执行以下操作:
allow read, write: if resource.data.userId == request.auth.uid;
但是对于所有者
引用字段,在涉及安全规则时似乎没有任何文档。
我尝试了以下安全规则:
allow read, write: if resource.data.owner == 'users/$(request.auth.uid)';
并如下所示进行查询:
const owner = this.db.collection('/users').doc(auth.uid).ref;
const collection = this.db.collection('/items',
(ref) => ref.where('owner', '==', owner)
);
但我仍然缺少或权限不足。
这两个规则对我在模拟器(Firebase控制台)中都起作用:
allow read, write: if resource.data.owner == 'users/' + request.auth.uid;
而且
allow read, write: if path(resource.data.owner) == /users/$(request.auth.uid);
但不在我的代码的查询中。
在之前的 JavaScript 基础文章中(编号 02、编号 07),我们介绍过,变量有以下数据类型: 基本数据类型(值类型):String 字符串、Number 数值、Boolean 布尔值、Null 空值、Undefined 未定义。 引用数据类型(引用类型):Object 对象。 本文,我们针对这两种类型,做个详细介绍。我们先来看个例子。 基本数据类型举例: var a = 23;
问题内容: Eclipse在正在运行的项目中仅使用以下代码(在其中仅包含伪类和main方法)给我警告(标题中): 最后一行触发警告。我不确定我在这里做错了什么,或者实际上我在做什么。我是一名Java学生,正在研究一个可疑的教程,并且试图理解泛型。假设变量x不能说明类型安全性。我尝试将其强制转换为对象类型(我认为它没有任何作用,因为它已经存在了),并且不起作用。 我如何解决此警告? 问题答案: 您声
最近我收到了一系列Firebase通知,涉及: [Firebase]您的Cloud FiRecovery数据库有不安全的规则 我们检测到您的安全规则存在以下问题:任何用户都可以写入您的整个数据库。因为您的项目没有强大的安全规则,任何人都可以访问您的整个数据库。攻击者可以窃取、修改或删除您的数据,并会抬高您的账单` Edit2:我需要的是允许每个人都写,而不需要登录,但是只有管理员帐户应该能够从Fi
本文向大家介绍JavaScript数据类型之基本类型和引用类型的值,包括了JavaScript数据类型之基本类型和引用类型的值的使用技巧和注意事项,需要的朋友参考一下 ECMAScript变量包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值是简单的数据段,而引用类型值指那些可能由多个值构成的对象。 在将一个值赋给变量时,解析器必须确定这个值是基本类型还是引用类型。基本类型包括如Unde
长话短说:java.io包中有多少种基于数据流的流?它们是字节流和字符流还是二进制流和字符流? 完整问题: https://youtu.be/v1_ATyL4CNQ?t=20m5s昨天看了本教程后跳到20:05,我的印象是基于数据流有两种类型的流:BinaryStreams和CharacterStreams。今天,在了解了更多关于这个主题的知识之后,我的新发现似乎与旧发现相矛盾。 互联网上的大多数
本文向大家介绍Java数据类型的规则,包括了Java数据类型的规则的使用技巧和注意事项,需要的朋友参考一下 数据类型的规则 选择合适的数据类型去存储,比如用来存储年龄,他的数值不可能超过200那么就用short存储,才浪费2个字节这样很节约。如果数值永远不大于100那么我们就会用byte来存储,如果这个数值不大于100非得用long长整型去存,就有点浪费了。 但是,现在不比10几年前了,以