0
我通过push()
按时间顺序编写我的数据,但我需要通过REST API读取它,它将数据作为obj而不是数组返回。这是一个问题,因为JS不支持有序的字典。如何通过REST API读取Firebase订购的数据?
解决这个问题的最好方法是什么?
我通过push()
按时间顺序编写我的数据,但我需要通过REST API读取它,它将数据作为obj而不是数组返回。这是一个问题,因为JS不支持有序的字典。如何通过REST API读取Firebase订购的数据?
解决这个问题的最好方法是什么?
使用push()时Firebase不存储阵列()12。相反,它会创建一个唯一的基于时间的ID并将该值存储在使用该ID的对象中。他们是这个样子:
有很多的为什么选择这种方法的原因,为什么这是一个坏主意,利用在实时数据存储1阵列。
一个精密是所有现代浏览器正确排序的对象在任何情况下,不包括铬123的高度争议的数字排序。
鉴于这些事实,而事实上,火力地堡的推IDS是字符串类型的字典顺序中,REST API将在它们被推相同的顺序返回记录,当他们出现在锻造,其中快速curl
测试将确认。
唯一可能会遇到麻烦的地方就是使用数字标识符,这可能会在Chrome中自然导致一些问题。当然,通过在每个ID上加上一个“0”或一个字符串前缀,可以很容易地解决这些问题,从而迫使Chrome按照字典顺序对它们进行排序。1。
var a = {"foo":"bar", "03": "3", "02":"2", "01":"1"};
for(var i in a) { print(i) };
produces following output as expected:
foo
3
2
1