我试图检查我的firebase数据库中用户的电子邮件,如果他们的电子邮件已经存在。我的json看起来像那样:
我不知道如何获得电子邮件的完整路径,因为每个用户都以唯一标识符开头而我没有这些信息。是否可以使用通配符/ users / * / email或类似的东西?
this.afdb.database.ref('users/*/email').orderByChild('email').on('value', (snapshot)=>{
console.log(snapshot);
});
答案 0 :(得分:1)
当针对某个位置运行Firebase数据库查询时,它会考虑该位置下的每个子节点。对于每个子节点,您可以在该子节点下的已知路径上测试属性的值。
没有对通配符的支持,你的案例似乎也不需要支持:
this.afdb.database.ref('users').orderByChild('email').equalTo("pqoo@poam.com").on('value', (snapshot)=>{
snapshot.forEach((child) => {
console.log(child.val());
});
});
所以这两个变化是:
users
查询位置email
,只返回值为pqoo@poam.com
的节点。snapshot.forEach(...)
来循环结果。