2016-12-07 83 views
0

我有3个表[用户,曲目,trackLikers]。当用户喜欢它添加到trackLikers这样的轨道。如何仅获取没有值的Firebase数据密钥?

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

现在我想知道有多少曲目“Alex”喜欢。所以我这样做。

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

好吧,我得到了2曲目ID [703486,704875]的结果。但问题是我也得到了约翰在703486的结果。所以如果我可以在这首歌曲上有一百万的喜欢,我将不得不回顾所有的相似者:-(所以任何一个人都有解决方案如何解决这个问题。或者只有我可以得到没有所有相似者值的曲目编号?

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

回答

1

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

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

是啊,我也想这可能是最终的解决方案,现在我要实现这一个。 –