Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Firebase数据库访问问题:客户端没有';我没有访问所需数据的权限_Node.js_Firebase_Firebase Realtime Database_Next.js_Firebase Security - Fatal编程技术网

Node.js Firebase数据库访问问题:客户端没有';我没有访问所需数据的权限

Node.js Firebase数据库访问问题:客户端没有';我没有访问所需数据的权限,node.js,firebase,firebase-realtime-database,next.js,firebase-security,Node.js,Firebase,Firebase Realtime Database,Next.js,Firebase Security,我在firebase设置中有一个名为users的集合。我有以下规则设置(允许任何人读写): 现在,当我尝试使用以下方法访问集合中的数据时: const usersRef = db.ref("users"); usersRef.on("value", snapshot => { const users = snapshot.val(); console.log(users); this.setState(() => ({

我在firebase设置中有一个名为users的集合。我有以下规则设置(允许任何人读写):

现在,当我尝试使用以下方法访问集合中的数据时:

const usersRef = db.ref("users");

usersRef.on("value", snapshot => {
    const users = snapshot.val();
    console.log(users);
    this.setState(() => ({ loading: false, users }));
}, function(error) {
    console.error('error', error);
});
我获得以下权限问题:

错误:权限被拒绝在/users:客户端没有 访问所需数据的权限


为什么?

请确保您选择的是
实时数据库,在我看来,您是在设置firestore的规则,但使用的是实时数据库

你的实时数据库;s的规则应该如下所示:

{
    "rules": {    
        ".read": true,
        ".write": true
    }
}

啊,是的,这是真的!我只想查询数据库中的所有数据,似乎很多示例都是实时的。我会检查的。谢谢当您推荐完全开放的安全规则时,请始终包含一条有关此规则所带来风险的警告。请参阅,您显示的安全规则适用于Cloud Firestore,而您显示的代码正在访问实时数据库。虽然两个数据库都是Firebase的一部分,但它们是完全独立的,其中一个数据库的安全规则不适用于另一个数据库。要修复此错误,必须为实时数据库设置规则。有关如何执行此操作的演练,请参见
{
    "rules": {    
        ".read": true,
        ".write": true
    }
}