【问题标题】:How to query where child does not exists in Firebase? [duplicate]如何查询 Firebase 中不存在子项的位置? [复制]
【发布时间】:2017-10-01 04:56:48
【问题描述】:

假设我们有简单的数据结构:

"games": {
     "{gameId}" {
          "title": "Chess",
          "playedBy" : {
               "{userId}" : true,
               "{userId}" : true
           }
     }
}

只有游戏,每个游戏都有玩过该游戏的用户的数据。现在我想获取指定用户(假设他的 id 是"1234567")没有玩的所有游戏。我必须查询"playedBy" 不包含"1234567" 的游戏。

如何使用 Firebase 实现这一目标?

Firebase 工作的每种语言都会受到赞赏。

【问题讨论】:

标签: android ios firebase firebase-realtime-database


【解决方案1】:

你可以这样做:

  1. 遍历所有游戏
  2. 检查每个游戏是否包含用户 ID
  3. 如果没有,将游戏添加到游戏列表中

    mGamesRef.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
             if(!dataSnapshot.child("playedBy").hasChild(userId)) {
                 gamesList.add(dataSnapshot.getValue(Game.class));
             }
        }
        ...
    

希望这对你有用。

【讨论】:

  • 如此令人失望的解决方案...
猜你喜欢
  • 2018-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-29
  • 1970-01-01
  • 2017-04-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多