如何在新Firebase中搜索用户名?

如何在新Firebase中搜索用户名?,firebase,firebase-authentication,Firebase,Firebase Authentication,我正在尝试搜索用户名。要搜索“alan”并获取与其关联的id 这是我的数据库: 假定新的Firebase是Firebase 3.x,并且用户在根目录下使用JavaScript,您可以执行以下操作: firebase.database().ref('users/usernames/alan').on('value', (snapshot) => { //Get id for Alan

我正在尝试搜索用户名。要搜索“alan”并获取与其关联的id

这是我的数据库:

假定新的Firebase是Firebase 3.x,并且用户在根目录下使用JavaScript,您可以执行以下操作:

         firebase.database().ref('users/usernames/alan').on('value', (snapshot) => {    
                    //Get id for Alan     
                    var id = snapshot.val()
            })

这个问题已经很老了,但只是想回答您完全可以使用查询。
您也不必将其设置为侦听器,除非您需要该功能。
比如:

firebase.database().ref('users/usernames').where('username', '==', 'alan').then(()=>{

  //do some stuff

})

我会照你说的做。

你试过什么?发布你的代码,让我们看看。此外,在这种情况下,你不需要搜索艾伦,因为你知道他已经在哪里了/用户/用户名/alan。观察该节点,快照中的值将是与其关联的id。还有一条评论:这种结构可能会给您带来编码方面的麻烦。用户应该将uid作为父节点键,然后将name:alan age:45作为每个用户的子节点。您确实应该添加一些解释,说明为什么此代码应该工作—您还可以在代码本身中添加注释—以其当前形式,它没有提供任何可以帮助社区其他人理解你为解决/回答问题所做的解释。它是为用户搜索添加到群组聊天中。如果有成千上万的用户呢?我希望使用queryValueEqualTo,但无法实现。是的,它是新的firebase,Swift,用户在根目录下。