我在Firebase Firestore .set is updating instead of creating (skipping rules)找到了一个类似问题的人,没有答案。
我有一条安全规则,该规则允许任何人在某个路径上创建文档,但仅允许所有者编辑已经存在的文档。更新安全规则阻止了创建。我猜想我对规则的运作方式有误解。如果我删除更新规则,则一切正常。
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")
}
}