Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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
Javascript Firebase身份验证服务-无需登录即可从电子邮件中查找uid_Javascript_Firebase_Firebasesimplelogin - Fatal编程技术网

Javascript Firebase身份验证服务-无需登录即可从电子邮件中查找uid

Javascript Firebase身份验证服务-无需登录即可从电子邮件中查找uid,javascript,firebase,firebasesimplelogin,Javascript,Firebase,Firebasesimplelogin,我正在使用Firebase(Firebase的身份验证服务,简单的电子邮件/密码登录)构建一个应用程序,并以一种非常类似于本文描述的方式存储用户信息 我的部分功能需要允许根据电子邮件地址查找其他用户 有没有一种简单的方法可以使用电子邮件来查找Firebase定义的uid,即“simpleLogin:9”,而不必迭代所有用户,也不必实际登录他们?您的用户节点只是Firebase中的常规节点。因此,查找项目的唯一方法是通过节点的名称或节点的优先级 如果要坚持使用uid作为节点名,可以使用setPri

我正在使用Firebase(Firebase的身份验证服务,简单的电子邮件/密码登录)构建一个应用程序,并以一种非常类似于本文描述的方式存储用户信息

我的部分功能需要允许根据电子邮件地址查找其他用户

有没有一种简单的方法可以使用电子邮件来查找Firebase定义的uid,即“simpleLogin:9”,而不必迭代所有用户,也不必实际登录他们?

您的用户节点只是Firebase中的常规节点。因此,查找项目的唯一方法是通过节点的名称或节点的优先级

如果要坚持使用uid作为节点名,可以使用setPriority或setWithPriority将电子邮件地址设置为优先级,然后使用startAt和endAt进行筛选

<>但是如果你只使用简单的电子邮件,你可以考虑简单地用电子邮件地址来存储用户:
  myRef.child('users').child(user.email).set({
    displayName: user.displayName,
    provider: user.provider,
    provider_id: user.id
  });

  var userRef = myRef.child('users').child(user.email);
另见:

谷歌搜索Firebase where查询的最重要结果。
啊,谢谢你,我没有读太多关于查询的书,我有一个想法,那就是我必须编写代码,手动读取所有用户。这更有意义。现在我知道了更多我需要搜索的内容,我偶然看到了这篇博文——是的,当你开始使用Firebase时,这篇博文几乎是必读的。我更新了我的答案,加入了一些代码片段。我尝试使用电子邮件作为节点的名称,但它说它不支持存储点。所有的电子邮件都有。您建议如何将其存储在FrankvanPuffelen?大多数开发人员都会替换。用一个,。但任何逃跑都有可能。
  myRef.child('users').child(user.email).set({
    displayName: user.displayName,
    provider: user.provider,
    provider_id: user.id
  });

  var userRef = myRef.child('users').child(user.email);