我有一个firebase数据库,如下所示:
,我想选择在某个日期之后发生的所有事件。我尝试使用以下代码执行此操作:
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”, 遵守规则
这是什么意思,我该如何选择所需的记录?我是在正确的轨道上,只是需要解决此错误,还是应该采用其他方法?
答案 0 :(得分:2)
Firebase要求您向date
添加索引以提高查询性能。 AFAIK,您无需添加任何索引就可以获取所需的数据。但是随着event
数据的增长,它会非常慢。检查链接以供参考:https://firebase.google.com/docs/database/security/indexing-data