如何在Firestore规则函数中插值路径?

时间:2019-06-13 15:09:11

标签: google-cloud-firestore firebase-security-rules

我正在尝试使规则干燥,因此我正在编写类似这样的函数

function isInCollection(field, collection) {
  return exists(/databases/$(database)/documents/$(collection)/request.resource.data[field])
}

我已尝试对exists()的该参数进行至少六个排列,包括使用path()函数从字符串中构造路径,但我无法正确地解析该路径。我怀疑该问题与字段周围的[]表示法有关。

1 个答案:

答案 0 :(得分:1)

与您用来插入databasecollection的语法相同。使用$()包含要添加到路径的表达式。

exists(/databases/$(database)/documents/$(collection)/$(request.resource.data[field]))