Firebase Firestore安全规则:以字符串形式获取路径

Firebase Firestore安全规则:以字符串形式获取路径,firebase,google-cloud-firestore,firebase-security,Firebase,Google Cloud Firestore,Firebase Security,使用Firestore安全规则(版本2),如何将路径对象转换为字符串?将整个路径作为一个字符串,而不是单个段 我正在尝试编写一个通用函数,用于各种匹配语句。大概是这样的: rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { // "pathobj" is a rules.firestore.Path object function g

使用Firestore安全规则(版本2),如何将路径对象转换为字符串?将整个路径作为一个字符串,而不是单个段

我正在尝试编写一个通用函数,用于各种匹配语句。大概是这样的:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {

    // "pathobj" is a rules.firestore.Path object
    function getPathAsString(pathobj) {
      // Does not work:
      return pathobj.toString();
    }

    // I would expect the following to evaluate to True:
    match /foo/{fooid} {
      allow read: if getPathAsString(path('one')) == 'one'
                  && getPathAsString(path('one/!two')) == 'one/!two';
    }
  }
}

有人知道这是否可能吗?我阅读了,在中尝试了各种方法,但都没有成功。

请编辑问题,解释
resourceee
到底是什么,以及如何从实际规则中调用
getPath()
。如果有来自文档的数据,请显示该文档实际数据的示例。这个问题需要弄清楚你的输入是什么,你的预期输出是什么。你好,DougStevenson,我已经补充了(希望足够)关于函数参数是什么以及我期望它如何工作的澄清。我很困惑。如果您已经知道字符串是“一”,那么为什么要将其传递到
path()
以转换回字符串?我不确定这个例子是否实用。或者您只是想从中删除实际文档及其内容?听起来您可能希望文档包含一个引用类型对象,该对象在规则求值期间显示为路径?@DougStevenson该示例仅用于说明给定路径对象时函数应返回的内容。我唯一的问题是“有人知道如何将路径转换为字符串吗?”