Firebase Web-获取UID';来自其他用户的消息

Firebase Web-获取UID';来自其他用户的消息,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,我试图使用Firebase提供的“orderByChild”功能,但我遇到了一个障碍。我的数据库结构非常简单,看起来有点像这样: 根 现在,我想搜索其他用户的名字而不知道他们的UID 有人知道如何解决这个问题吗 我可以完全下载用户文件,但这似乎不是一个好主意。在将其发布到stack overflow上之前,请先了解这个问题:您必须制定策略来解决此问题,我建议您两种可能的解决方案: 1) (非常糟糕的解决方案): 您解析来自firebase的数据,并将它们放入[]中,然后在该数组上循环,以获取您想

我试图使用Firebase提供的“orderByChild”功能,但我遇到了一个障碍。我的数据库结构非常简单,看起来有点像这样:

现在,我想搜索其他用户的名字而不知道他们的UID

有人知道如何解决这个问题吗


我可以完全下载用户文件,但这似乎不是一个好主意。

在将其发布到stack overflow上之前,请先了解这个问题:您必须制定策略来解决此问题,我建议您两种可能的解决方案:

1) (非常糟糕的解决方案):

您解析来自firebase的数据,并将它们放入
[]
中,然后在该数组上循环,以获取您想要获取的用户名。 **

Ps:在性能和可用性方面,你认为最糟糕的事情是什么 我们可以做的就是调用数据库来获取无用的数据,所以不要使用 该解决方案已投入生产

**

2) 您为此制定了策略:
查看一个用户和另一个用户之间的关系,添加新字段,例如friends,并在其中存储您想要获得的UID。

此图中的ID是什么?你能给出一个包含几个示例节点的JSON片段吗?@FrankvanPuffelen ID只是一个包含诸如姓名、生日等数据的对象。你为什么要将ID嵌套在uid父节点中?这就创造了另一个你似乎不需要的关卡。@Jay我同意你的观点,它不应该在那里。但我仍然需要UID来搜索用户。我发现了如何使用云函数来实现这一点:)你不需要id来搜索用户-你可以按姓名、生日等进行搜索,它将检索该节点并在快照中返回它。正如我所提到的,它可能嵌套得太深了,ID可以作为父节点删除,只需将name、bday作为UID的直接子节点——而且你也不需要云函数。很抱歉,这并不是一个“答案”。你的第一个解决方案是我在原始帖子中描述的,而你的第二个解决方案基本上是说“自己去想办法”。我的策略可能是将用户名存储在另一个地方,但总会有同名的人,Firebase不允许重复密钥,因此也不能这样做……您的问题的答案是:您的数据库概念是错误的!!比你的“答案”还没有答案。只是一句“自己去想办法”之类的评论,甚至没有推动我应该寻找的方向。我不是在找人给我一些代码,只是找些帮助。这个讨论是没有意义的,认为它是关闭的!你自己去想吧!你在重复你自己!
Users

    ${UID}

        ID

            Name

            Birthday

            ...