我不知道如何在 Firestore 中执行可选属性。它似乎没有包含在文档中,以下对我来说失败了。
service cloud.firestore {
match /databases/{database}/documents {
function maybeString(val) {
return val == null || val is string
}
match /myCollection/{document} {
function mySchema() {
return request.resource.data.name is string
&& maybeString(request.resource.data.optionalProp);
}
allow read: if request.auth != null;
allow create, update: if mySchema();
}
}
}
service cloud.firestore {
match /databases/{database}/documents {
match /myCollection/{document} {
function mySchema() {
return request.resource.data.keys().hasAll(['name'])
&& request.resource.data.name is string
&& request.resource.data.optionalProp is string;
}
allow read: if request.auth != null;
allow create, update: …Run Code Online (Sandbox Code Playgroud)