我有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?
如果没有解决方案,那么不幸的是我必须切换到关系数据库: - (。
答案 0 :(得分:1)
您应该有另一个节点,例如user-tracks
,以保留用户喜欢的曲目。
user-tracks
- AXweXLKIQiQYmwia5TbvNbSLk472 // userId
- 703486 // track which user liked