firebase - Firestore .setData 被未创建的更新规则阻止
问题描述
我在这里发现有人遇到类似问题Firebase Firestore .set 正在更新而不是创建(跳过规则)并且没有答案。
我有一个安全规则,允许任何人在路径上创建文档,但只允许所有者编辑已经存在的文档。更新安全规则阻止创建。我猜我对规则的工作方式有一些误解。如果我删除更新规则,一切正常。
match /users_real/{userID} {
allow create: if true;
allow read: if isOwner(userID);
allow update: if ((request.writeFields.size() == 1) &&
(('ptypes' in request.writeFields) || ('ptypes' in request.writeFields)) && isOwner(userID));
}
设置数据:
self.docRef.collection("users_real").document("adfadsf").setData(post) { (error) in
if let error = error {
print("He dead!: \(error.localizedDescription)")
}
else {
print("it worked, for now")
}
}
解决方案
推荐阅读
- django - 本地主机上的 Django + https
- camunda - Camunda:如何在我的工作流程中找到引发 OptimisticLockingException 的步骤
- query-optimization - 为什么即使在刚刚重新编译后,使用“WITH RECOMPILE”的存储过程运行得更快?
- javascript - 如何从函数返回错误?
- python - 在 Python 中抓取 onclick 表
- java - 是否可以创建必要/必需的接口?
- json - 如何避免 json 字符串中的额外嵌套
- elasticsearch - 弹性,无法设置三个节点的集群
- node.js - 如何在 VS Code 中打开 Node.JS 终端
- python - 如何在 Python 中运行 MX 记录查找回退到 A 记录