查询Firebase,无需重复

时间:2019-04-10 11:32:20

标签: android firebase-realtime-database

我是编码的新手,我只是在玩游戏以构建一个每个人都可以发布新事件的应用程序。因此,我已经创建了“用户”和“事件”之类的注释。我面临的问题是,我不知道如何避免重复,例如,如果两个用户发布同一个事件,都是如此。

我不想在RecyclerView中两次显示它们。

因此,由于有这么多查询,我不得不比较日期,位置和描述,Firebase Realtimedatabase是正确的“工具”吗?还是应该使用其他软件。

------/Events
---------/LbwXYVICCl9xd5m..
--------------datum: 10.04.2019
--------------userid: OncDIQis...
--------------location:New York
--------------description:Coldplay

2 个答案:

答案 0 :(得分:0)

Firebase实时数据库是适合您的工具,因为它可以实时更新数据库。 从Firebase提取数据时,您可以检查本地数据库(正在收集从Firebase提取的数据)中是否已存在该数据。

希望这对您有所帮助。

答案 1 :(得分:0)

您似乎根据两个事件的某些属性具有相同的值来将两个事件定义为相同。在这种情况下,我会将这些组合的属性用作事件的键。

因此,如果您说两个事件具有相同的日期,位置和描述,则它们是相同的,那么您可以将该事件的唯一键创建为${date}_${location}_${description}。例如:

20190410_New York_Coldplay

我将日期放在一种易于搜索的格式中,该格式还过滤了.(因为键中不允许使用这些。现在您可以将事件存储在该键下:

Events
  20190410_New York_Coldplay
    datum: 10.04.2019
    userid: OncDIQis...
    location:New York
    description:Coldplay

采用上述结构,如果另一个用户尝试创建一个等效事件,它将获得相同的密钥。