过滤/查询未被阻止的用户列表

时间:2017-03-31 21:07:25

标签: swift firebase firebase-realtime-database

我在应用程序中有一个用户列表,我在桌面视图中显示用户列表,现在我想查询该用户列表,仅显示未被我作为用户阻止的用户...所以我的数据库结构我想的是这样的;

  • 用户
    • usersid-987545
      • name:String
      • description:String
      • 阻断
        • userid-767438:true
    • usersid-767438
      • name:String
      • description:String

但是当我想查询用户列表或稍后搜索具有名称的用户并且被该用户排除被阻止的用户时,这是一个问题...什么是更具可扩展性的结构?您可以查询用户列表并过滤掉该用户的被阻止用户吗?

1 个答案:

答案 0 :(得分:0)

尝试嵌套数据

DATABASE / Users / USERIDS /个人数据
DATABASE / BLOCKS / USERID /阻止用户
DATABASE / FRIENDS / USERID /列出的朋友

然后 获取你正在寻找的uid下的人员名单(例如你的) 然后 得到所有的朋友 获取所有被阻止的用户 比较和排除

另一个解决方案是从朋友列表中删除被阻止的用户,或者创建一个单独的DATABASE / AUTHORIZED / USERID /授权人员列表

构建数据非常重要,并使firebase变得如此强大。