通过查询从Firebase获取用户电子邮件
我想在我的应用程序中通过电子邮件实现搜索,但有点坚持查询的设计。 我的数据结构如下所示通过查询从Firebase获取用户电子邮件,firebase,Firebase,我想在我的应用程序中通过电子邮件实现搜索,但有点坚持查询的设计。 我的数据结构如下所示 users { uid { email: email@email.com 我尝试了以下查询: console.log(reqestEmail); // proper email here new Firebase(USERS) .startAt(reqestEmail) .endAt(reqestEmail) .once('value', function(sn
users {
uid {
email: email@email.com
我尝试了以下查询:
console.log(reqestEmail); // proper email here
new Firebase(USERS)
.startAt(reqestEmail)
.endAt(reqestEmail)
.once('value', function(snap){
var foundUser = snap.val();
console.log(foundUser) // output is null
});
我想问题在于路径中有一个uid。但是如何用这个数据结构实现搜索——如果我知道这个uid是需要的结果
如果重要,请使用Firebase 2.0.2和AngularFire 0.9
对不起,伙计们,这里没有。还有账户被暂停的危险。您必须首先通过电子邮件地址订购,以便您可以对其进行筛选:
console.log(reqestEmail); // proper email here
new Firebase(USERS)
.orderByChild('email')
.startAt(reqestEmail)
.endAt(reqestEmail)
.once('value', function(snap){
var foundUser = snap.val();
console.log(foundUser) // output is correct now
});
此jsbin中的工作示例:首先需要调用
orderByChild
,然后调用startAt
和endAt
。但是当我的uid未知时(它是我搜索的那个),我应该传递什么参数呢?我用这个数据结构做的对吗?非常感谢,这是正确的。如果你问我的话,从文档中一点也不明显。如果你说你读了哪些文档,以及如何改进该页面,那么会更具建设性。我很抱歉。如果Firebase的任何人读到这篇文章,我想你网站上的这篇博文会让人困惑。特别是“通过电子邮件地址(其中电子邮件=x)查找用户”部分。我需要称之为orderByChild的东西没有说明。如果你能提到和我类似的未知密钥的情况,那就太好了。那篇博文将orderByChild
功能的日期提前了一年。我通常不认为博客文章是产品文档的一部分,正是因为这个原因:当产品改变时,它们不会被更新。这就是说:在Firebase的自动索引生成过于有限的情况下(例如,当您想要搜索多值字段时,比如“电子邮件地址”),该帖子中的方法仍然有效,并且仍然有用。当然,如果“某人”能在帖子中添加一条关于orderByChild
的注释,那就太好了。