允许未定义或最大长度为600个字符的Firebase Firestore规则

允许未定义或最大长度为600个字符的Firebase Firestore规则,firebase,google-cloud-firestore,firebase-security,Firebase,Google Cloud Firestore,Firebase Security,我试图得到一个规则,允许一个值不在allindefined设置,或者通过另一个测试,在本例中,最大长度为600个字符 我当前的规则设置如下: function incomingData() { return request.resource.data; } function hasNotMaxSizeOfDescriptionExceeded() { return !incomingData().description || incomingData().description.si

我试图得到一个规则,允许一个值不在allindefined设置,或者通过另一个测试,在本例中,最大长度为600个字符

我当前的规则设置如下:

function incomingData() {
    return request.resource.data;
}

function hasNotMaxSizeOfDescriptionExceeded() {
 return !incomingData().description || incomingData().description.size() <= 600;
}

好的,我用这句话算出了:

!incomingData().keys().hasAll(['description'])

你可以检查是否有道具。存在于传入集合中

为了检查属性是否未定义或是否与另一个测试匹配,您可以使用in运算符:

function incomingData() {
    return request.resource.data;
}

function hasNotMaxSizeOfDescriptionExceeded() {
 return !('description' in incomingData()) || incomingData().description.size() <= 600;
}