我正在尝试使规则干燥,因此我正在编写类似这样的函数
function isInCollection(field, collection) {
return exists(/databases/$(database)/documents/$(collection)/request.resource.data[field])
}
我已尝试对exists()
的该参数进行至少六个排列,包括使用path()
函数从字符串中构造路径,但我无法正确地解析该路径。我怀疑该问题与字段周围的[]
表示法有关。
答案 0 :(得分:1)
与您用来插入database
和collection
的语法相同。使用$()
包含要添加到路径的表达式。
exists(/databases/$(database)/documents/$(collection)/$(request.resource.data[field]))