2017-07-18 61 views
0

我是新来的firebase,我第一次使用离子,以及开发一个聊天应用程序。我有一个具有类似结构的数据库,如下所示:firebase的父母身份证返回而不是孩子ID

tutors: 
"Ben Clarke": 
    email:"[email protected]" 
    name: ben clarke 
"James Gall": 
    email:[email protected] 
    name: james gal 

我想使用电子邮件获得导师的ID。这是

`firebase.database().ref('tutors').orderByChild('email').equalTo(this.myTutor) 
    .once('value') 
    .then(snapshot => { 
    var records = snapshot.key; 
    var chilkkey= snapshot.val(); 
    this.tutorID=records; 
    this. uid = chilkkey; 
    }) 

'我想要的结果给我“本·克拉克”的子ID,而是它返回“辅导”:我一直在使用,我在这里和火力DOC发现这样做引导尝试父母身份。请,任何想法,我做错了什么。谢谢

回答

0

当您针对Firebase数据库执行查询时,可能会有多个结果。所以快照包含了这些结果的列表。即使只有一个结果,快照也会包含一个结果列表。

如果您然后在快照请求key,它是您最初运行查询的位置的关键。要获得查询所匹配的特定儿童/小孩的关键字,您需要遍历结果:

firebase.database().ref('tutors').orderByChild('email').equalTo(this.myTutor) 
    .once('value') 
    .then(snapshot => { 
    snapshot.forEach(function(child) { 
     console.log(child.key); 
    }); 
    }) 
+0

非常感谢。问题解决了。 – user8320179

+0

很高兴听到。如果我的回答很有用,请点击左侧的upvote按钮。如果它回答了您的问题,请点击复选标记以接受它。这样别人就知道你已经(充分)帮助了。 –