【问题标题】:Firebase realtime database get Online FriendsFirebase 实时数据库获取在线好友
【发布时间】:2020-06-27 05:08:10
【问题描述】:

我不确定这是否可以如我所愿在火力基地中实现, 我的数据库是

    User_ID: ID
        online:true/false
        friends: 
               ID: Name 
               ID: Name 

用户登录,检索他的信息,包括好友ID。

我的问题是我可以得到所有具有某些ID(用户朋友ID)且在线为真的用户。

看起来像 2 个查询:(朋友 ids(多个 ids)= ??? and online = true)

我对此有解决方案,但我不喜欢它因为我必须获取所有在线用户(朋友和没有朋友)并且只保留朋友,在这种情况下,我将检索在这种情况下我不想要的数据。

【问题讨论】:

  • 如果您必须进行查询,您应该使用 Cloud Firestore 数据库,这对您来说会更容易。

标签: firebase firebase-realtime-database


【解决方案1】:

如果您只想使用单个查询,是的,有一种实时数据库方法

databaseRef.orderByChild("online").equalTo(true);

这将从数据库中返回父级的所有键/项,它们下有 online:true child:value

https://firebase.google.com/docs/database/admin/retrieve-data#section-complex-queries

【讨论】:

  • 谢谢,但这将返回所有在线用户,我需要我朋友列表中的所有在线用户。
  • 这是一个双重查询...。您可以在应用程序中设计自定义逻辑,例如首先查询您的数据库,即谁在线,然后使用比较逻辑过滤掉您的 frnds 列表中的数据如果是android,它会将它传递给recycler view,如果是web,则将它传递给你的crud应用程序,这确实是一个漫长的过程。否则我会建议去firestore。它类似于实现,您可以启动双重查询。
  • 还有一个解决方案,但我不建议这样做
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-10
  • 2018-01-28
  • 2019-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多