如何仅在没有值的情况下获取Firebase数据密钥?

时间:2016-12-07 14:21:43

标签: android firebase firebase-realtime-database

我有3个表[users,tracks,trackLikers]。当用户像赛道一样,它会像这样添加到trackLikers。

tracklikers
     703486
          AXweXLKIQiQYmwia5TbvNbSLk472: Alex
          AXweXLKIQiQYmwia5TbvNbSLk472: John
    704875
          AXweXLKIQiQYmwia5TbvNbSLk472: Alex

现在我想知道“Alex”喜欢的曲目数量。所以我这样做。

dbReference.child("tracklikers").orderByChild("AXweXLKIQiQYmwia5TbvNbSLk472").equalTo("Alex")

好的,我得到了2首歌曲[703486,704875]的结果。但问题是我在703486结果中得到了约翰。因此,如果我可以在这条赛道上拥有一百万个喜欢,我将不得不重新审视所有喜欢的人:-(。所以任何一个人都有解决方案如何解决这个问题。或者只有我能获得没有所有喜欢的价值的赛道ID?

如果没有解决方案,那么不幸的是我必须切换到关系数据库: - (。

1 个答案:

答案 0 :(得分:1)

您应该有另一个节点,例如user-tracks,以保留用户喜欢的曲目。

user-tracks
   - AXweXLKIQiQYmwia5TbvNbSLk472 // userId
      - 703486 // track which user liked