-属性的Firebase Firestore规则可以是未定义的,也可以是最大长度600个字符

时间:2018-08-29 07:39:35

标签: firebase google-cloud-firestore

我尝试使一条规则如标题中所述工作:未设置值或已设置值-它具有最大值。长度为600个字符。道具。是一个字符串值。我想我根据在模拟器上的测试正确设置了最大长度的规则。但是我不知道如何测试道具。未定义。 根据我的要求,规则如下:

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

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

有人可以帮忙吗? :)

2 个答案:

答案 0 :(得分:1)

好吧,我想清楚了:

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

您可以检查道具。存在于传入集合中

答案 1 :(得分:0)

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

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

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