2017-04-22 150 views
0

我可以使用管理员从我的服务器写入我的users表,但我无法检索数据。无法从管理员检索Firebase数据库中的数据

当看我的控制台时,运行以下代码时看不到任何消息。

我期望看到与查找到的选择器输出关联的电子邮件地址到控制台。

// Get info from persistent login cookie 
var cookie = req.cookies.rememberme.split(':') 
var selector = cookie[0] 
var token = cookie[1] 

var db = firebaseAdmin.database() 
var userRef = db.ref('users') 
    .orderByChild('selector') 
    .equalTo(selector) 
    .once('value', function(dataSnapshot) { 
    console.log("Email: " + dataSnapshot.val().email) 
    }) 

我可以证实,cookie存在,当脚本正在运行的selector变量被设置。

users表中的条目被安排如下:

key: { 
    selector, 
    token, 
    email 
} 

回答

0

你一定要设置在火力控制台上的数据库视图规则选项卡中的读/写权限?

+0

是,两者都设置为false。如前所述,我可以写但不能阅读。 – charliesneath

+0

尝试将读取更改为true并暂时再次测试。 –

+0

不幸的是,这没有什么区别。我现在也在检查错误,但仍然没有输出在控制台中。 – charliesneath

0

问题在于服务帐户的凭据。

我原本选择了“其他>火力地堡规则系统”(因为没有其他选项提(火力地堡),但它应该是从“项目”部分的东西。

我创建了一个新的服务帐户“项目>所有者”的权限,上传新的证书,并如预期,我可以从数据库中检索

点击此处了解详情:https://firebase.google.com/docs/database/admin/start

enter image description here

相关问题