如何使用Firebase将一组中的元素与另一组中的元素相匹配?

时间:2016-12-21 07:58:11

标签: android database firebase-realtime-database nosql

我最近开始学习Android,但我遇到了一个问题。我想为Firebase创建一个代码(我用来存储值的数据库),以便一组中的内容与另一组中的元素匹配。

场景如下:如果他要更新,有一个学生想要学习或有兴趣学习一项新技能( C / C ++,绘画,音乐等)在他们的个人资料中,他应该获得建议,作为在应用程序中注册已经列出其技能集的其他用户的名称。

这就像Facebook建议普通朋友一样,但在这里,建议的基础是用户拥有的技能以及他想要学习的内容。

1 个答案:

答案 0 :(得分:0)

我为我的一个应用程序做了同样的事情。我将写下我为实现这一目标所做的工作

首先,您需要以实现此目的的方式设计实时数据库结构。

firebase数据库中的单个用户节点示例可能类似于

User
 - Personal Details
   - First name
   - last name
   - Dob 
 - Interests (values like "music,movies,sports") //Separated by a comma 
 - ...

现在让我们说用户A喜欢"音乐"并且你需要向他推荐其他喜欢音乐的用户,在这种情况下,你可以做的是检索所有有兴趣的用户"音乐"在他们的个人资料

reference.addChildEventListener()

在此处,您可以在onChildAdded()内进行比较,以查看特定用户的兴趣是否包含音乐。 (如果是,请将该用户添加到您的循环播放列表中,以便您的recyclerview显示它。)

希望它有所帮助!