Firebase 未找到函数错误:名称:[get]。;错误:为调用提供的参数无效。函数:[get],参数:[“无效”参数

Firebase 未找到函数错误:名称:[get]。;错误:为调用提供的参数无效。函数:[get],参数:[“无效”参数,firebase,permissions,google-cloud-firestore,firebase-security,user-roles,Firebase,Permissions,Google Cloud Firestore,Firebase Security,User Roles,我正在尝试编写Firestore规则,这些规则需要从数据库中的“用户”集合中获取用户,然后从“权限”集合中获取她/他的相应权限对象 以下是数据库的外观: 在用户集合中,我有以下条目: { id: 'USER_ID', permissionsId: 'PERMISSIONS_1' } { id: 'PERMISSIONS_1', content: { view: true, create: false, update

我正在尝试编写Firestore规则,这些规则需要从数据库中的“用户”集合中获取用户,然后从“权限”集合中获取她/他的相应权限对象

以下是数据库的外观:

在用户集合中,我有以下条目:

{
    id: 'USER_ID',
    permissionsId: 'PERMISSIONS_1'
}
{
    id: 'PERMISSIONS_1',
    content: {
        view: true,
        create: false,
        update: false,
        delete: false,
    }
}
在权限集合中,我有以下条目:

{
    id: 'USER_ID',
    permissionsId: 'PERMISSIONS_1'
}
{
    id: 'PERMISSIONS_1',
    content: {
        view: true,
        create: false,
        update: false,
        delete: false,
    }
}
以下是我的规则:

service cloud.firestore{
匹配/databases/{database}/documents{
函数userPermissionsId(){
返回get(/databases/$(database)/documents/users/USER\u ID);
}
函数用户权限(id){
返回get(/databases/$(database)/documents/permissions/$(id)).data;
}
函数getPermission(profileId、数据类型、操作){
返回userPermissions(profileId)[dataType][action];
}
匹配/{collection}/{document=**}{
//下面的代码返回true:
//允许读取:如果userPermissionsId()==“权限\u 1”
//以上证明函数userPermissionsId()工作正常并返回权限ID。
//下面的代码也返回true:
//允许读取:如果getPermission('PERMISSIONS_1','content','view');
//以上证明了函数getPermission()在收到正确的ID时工作正常。
//但是!!将2结合起来是行不通的:
允许读取:如果getPermission(userPermissionsId(),'content','view');
//这将在模拟器中抛出以下错误。
}
}
}
尝试模拟时出错:


运行模拟时出错-错误:simulator.rules行[9],列[15]。未找到函数错误:名称:[get]。;错误:为调用提供的参数无效。函数:[get],参数:[“| |无效的|参数| |”]

用户ID
还是对象内部的
ID
字段?