当我测试更新或创建时,为什么firebase模拟器会抛出一个无效的agument错误?

当我测试更新或创建时,为什么firebase模拟器会抛出一个无效的agument错误?,firebase,google-cloud-firestore,firebase-security,Firebase,Google Cloud Firestore,Firebase Security,这是我的错误: 运行模拟时出错-错误:simulator.rules行[10],列[13]。未找到函数错误:名称:[get]。;错误:为调用提供的参数无效。函数:[get],参数:[“| |无效的| |”] 当我运行此程序时,我已经使用了在web上可以找到的所有资源,但没有找到任何有用的资源(当我只使用isSignedIn()时,“允许读取”和“创建”会起作用)。。。请帮忙。 service cloud.firestore{ 匹配/databases/{database}/documents{

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

当我运行此程序时,我已经使用了在web上可以找到的所有资源,但没有找到任何有用的资源(当我只使用isSignedIn()时,“允许读取”和“创建”会起作用)。。。请帮忙。

service cloud.firestore{
匹配/databases/{database}/documents{
匹配/users/{documents}{
函数isSignedIn(){
return request.auth!=null;
}
函数getRole(管理){
返回get(/databases/$(database)/documents/users。[request.auth.uid]).data.admin;
}        
允许读取:如果为真;
允许写入:如果getRole(admin)==true;
}
}  

}
在试图获取getRole函数中用户的角色之前,需要检查用户是否已身份验证。发生异常,因为request.auth.uid为null。
还要检查用户。[request.auth.uid]是否为有效路径。

我经常遇到类似问题。通常情况下,这很简单,然后我不得不不去触碰我的Firestore规则,因为我害怕再次违反它们。。。这可能与试图
get()
获取一个尚不存在的文档有关吗?