使用节点查询firebase中的另一个节点

时间:2017-07-09 00:53:01

标签: android firebase firebase-realtime-database

我遇到了这个问题,无法解决这个问题。我有一个用户节点,我存储所有用户

{
  users: {
    uid: {
      displayName: "stringOfSomeKind"
    }
    uid2: {
      displayName: "moreStrings"
    }
    uid3: {
      displayName: "evenMoreStrings"
    }
    ...
  }
}

然后我有一个事件节点,在事件节点内部,我将所有用户分配给该事件

{
  event_name: {
    asigned_users:"uid","uid2"
  }
}

因此,当事件管理员想要将新用户(从用户节点)分配给事件时,问题就出现了,我想只获得事件中尚未存在的用户(在本例中为uid3)。我怎样才能做到这一点?我可以运行某种查询吗?我对无关系数据库有点新意,所以任何建议都会有所帮助

1 个答案:

答案 0 :(得分:0)

asigned_users:"uid","uid2"无效JSON。不幸的是,答案取决于你实际使用的JSON。

很可能你正在使用一个数组,这是这类数据的错误结构。要在Firebase中为集合建模,您需要:asigned_users: { uid1: true, uid2: true }

另请参阅昨天的more elaborated answerthis older, somewhat related answer here