Firebase,Firego和orderBy

时间:2017-03-16 20:58:23

标签: firebase go firebase-realtime-database

我尝试使用Golang和Firego从Firebase获取时间戳排序元素列表。

文档建议:

var v map[string]interface{}
if err := f.StartAt("a").EndAt("c").LimitToFirst(8).OrderBy("field").Value(&v); err != nil {
    log.Fatal(err)
}
fmt.Printf("%s\n", v)

我必须遗漏一些完全明显的东西,但是v是不是无序的?当我遍历地图(for key, val := range v)时,由于访问顺序为undefined,因此这些值与在Firebase调用的响应中发送的顺序不一致

我错过了什么?感谢

1 个答案:

答案 0 :(得分:1)

结果地图将是无序的,因为它是地图,但原始结果(限于前8位)将在限制之前订购,因此订单可能非常重要。

我同意地图对于这类结果来说是一个糟糕的类型,他们可能正在使用它,因为结果以json的形式返回(尽管确实有一个订单,不像go的地图)。他们应该返回一系列结果以保持秩序。