如何查找日期晚于所有记录?

时间:2019-03-28 04:53:42

标签: firebase go firebase-realtime-database

我有一个firebase数据库,如下所示:

enter image description here

,我想选择在某个日期之后发生的所有事件。我尝试使用以下代码执行此操作:

events := []data.EventData{}

if err := ref.Child("date").OrderByValue().StartAt(time.Now()).Get(c, events); err != nil {
    fmt.Println("Error selecing upcoming events")
    fmt.Println("Error:", err)
    response.Message = "Problem getting upcoming events"
    c.JSON(http.StatusInternalServerError, response)
    return
}

但是它总是抛出错误:

  

未定义索引,为路径“ / Event / date”添加“ .indexOn”:“。value”,   遵守规则

这是什么意思,我该如何选择所需的记录?我是在正确的轨道上,只是需要解决此错误,还是应该采用其他方法?

1 个答案:

答案 0 :(得分:2)

Firebase要求您向date添加索引以提高查询性能。 AFAIK,您无需添加任何索引就可以获取所需的数据。但是随着event数据的增长,它会非常慢。检查链接以供参考:https://firebase.google.com/docs/database/security/indexing-data