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

Firebase 如何查找日期晚于的所有记录?,firebase,go,firebase-realtime-database,Firebase,Go,Firebase Realtime Database,我有一个firebase db,如下所示: 我想选择在某个日期之后发生的所有事件。我已尝试使用以下代码执行此操作: 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("Er

我有一个firebase db,如下所示:

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

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
}
但它不断抛出错误:

未定义索引,为路径“/事件/日期”添加“.indexOn”:“.value”, 遵守规则


这意味着什么?我如何选择我需要的记录?我是否走上了正确的道路,只需要解决此错误,还是应该采取不同的方法?

Firebase要求您向
日期添加索引,以提高查询性能。好了,您可以在不添加任何索引的情况下获得所需的数据。但是,随着
事件
数据的增长,速度会非常慢。检查链接以供参考:

但当我尝试获取记录时,它返回了一个错误,这意味着它不仅仅是一个建议,对吗?您的
事件
切片中是否有任何数据@AbeMiesslerNo是空的。我的查询是否存在导致其不返回结果的问题?听起来你很确定它应该有结果,即使它抛出了一个错误?@AbeMiessler,似乎firebase不仅仅是建议,索引是必需的。代码在这里。