我在Firestore中有一个数据库,其中有许多集合,我已经定义了读、创建、更新和删除操作的安全规则。
match /locations/{locationID} {
allow read: if true;
allow create: if true; //Condition commented...
allow update: if <condition>;
allow delete: if false;
}
database.collection("locations").add(mapData)
.addOnCompleteListener {
if (it.isSuccessful) {
//Success
} else {
//Exception
}
}
这是火库规则中的一个问题吗?或者有什么解决办法?
在试图将数据集保存到FireStore时,您的更新规则似乎被触发了。
请注意,add()
基本上是doc.set()
。
set()
的行为是,如果文档已经存在,它会试图覆盖文档,并执行更新操作,从而触发安全规则中的更新规则。
2)将更新规则设置为允许true,这样您就可以验证文档是否已经存在。
希望能有所帮助。
null 谢了!
我正在开发一款iOS应用程序,它有(哇,惊喜!)聊天功能。整个应用程序大量使用Firebase工具,对于数据库,我正在使用新的云Firestore解决方案。 目前我正在使用数据库规则加强安全性,但我对自己的数据模型有点挣扎:)这可能意味着我的数据模型选择不当,但我真的很满意,除了实现规则部分。 模型的对话部分如下所示。在我的数据库的根目录下,我有一个集合: 然后我对每个对话都有一个子集合,称为消息
所以我现在的规则是这样的。 我的问题是,即使在写到子集合时,它是否会准确地检查用户是否在group1->doc->subcollection->doc-'members'中,或者在这种情况下,它是否会签入group1->doc->subcollection->doc-'members'? 因为members列表只在groups集合中,而不在子集合中,所以不希望出现第二种情况。
我无法在Drools留档中找到哪些字符(除了字母表字母)在Drools中的规则名称中被允许/不允许-有人知道或有参考吗? 到目前为止,我找到的Drools文档中唯一相关的部分没有指定: 每个规则在规则包中必须具有唯一的名称。如果在包中的任何DRL文件中多次使用相同的规则名称,则无法编译规则。始终使用双引号(规则“规则名称”)将规则名称括起来,以防止可能的编译错误,尤其是在规则名称中使用空格时。 我
问题内容: 我正在获取月份号作为输入。我成功地将UITextField中的字符数限制为2。但是我希望用户仅输入来自的值,而不要输入其他值。当用户键入数字时,即必须同时进行。如果我使用简单的条件检查每个字符并部分返回false,则文本字段将不允许我使用clear或重新键入其他任何字符。谁来帮帮我。 问题答案: 将键盘类型设置为数字键盘 加上这个
我创建了一个Treeview(javafx),它看起来像: 我现在想要的是,只有“tour”-树项是可选择的。但我不知道怎么做。 我已经用ChangeListener尝试过了,但我只能用它刷新选项卡(TabPane)的内容...刷新很好...但是可以选择“delivery”-TreeItems:(