Как найти все записи, где дата позже, чем? - PullRequest
1 голос
/ 28 марта 2019

У меня есть база данных 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
}

Но выдает ошибку:

Индекс не определен, добавьте ".indexOn": ".value", для пути "/ Event / date", к правилам

Что это значит и как мне выбрать нужные записи? Я на правильном пути и мне просто нужно устранить эту ошибку или я должен выбрать другой подход?

1 Ответ

2 голосов
/ 28 марта 2019

Firebase просит добавить индекс к date, чтобы повысить производительность запросов. AFAIK, вы можете получить необходимые данные без добавления какого-либо индекса. Но это будет довольно медленно, так как ваши event данные растут. проверьте ссылку для справки: https://firebase.google.com/docs/database/security/indexing-data

...