Firebase中的多对多匹配

时间:2017-05-14 06:19:26

标签: javascript firebase firebase-realtime-database

我正在使用javascript创建一个网站,用户可以在其中找到兴趣相似的其他用户。我想让一个用户有兴趣,例如:

dogs
cats
books

在数据库中我会有很多兴趣如此的用户:

USER 1    USER 2    USER 3
apples    school    apple
cats      books     dogs
pears     cats      lions

然后我想要的是能够找到具有最相似兴趣的用户。例如,在这种情况下,应该返回用户2,因为它具有两个匹配的兴趣,而其余的只有一个相似。我的兴趣列表将在10到200个兴趣点之间,因此它无法循环遍历它们或者那些将永远占据优势。如果有人有解决方案,请告诉我。这对我来说非常困难。

如果您需要更多解释,请与我们联系。 感谢

更新 这就是我的数据库目前的样子。

user
  interests
    apple: true
    pear: true
    book: true
    school: true

2 个答案:

答案 0 :(得分:0)

详细了解如何在Firebase文档中创建可扩展数据的示例: https://firebase.google.com/docs/database/web/structure-data#fanout提示:"群组"是你的兴趣"。

答案 1 :(得分:0)

我认为有兴趣的人,我重新格式化我的数据库以获得类别兴趣。然后我列出了在该类别中拥有该兴趣的每个人。