是否可以禁用Firebase自动转换为本机阵列?

时间:2015-01-06 20:06:19

标签: javascript firebase angularfire arrayjs

在Firebase文档中,它说:

  

Firebase将所有数据存储为对象,甚至将数组存储为具有数字键的对象。   为方便起见,Firebase Web API会自动将类似数组的对象转换为数组   使用JavaScript。

这个"方便"在我看来,这是一种皇家的痛苦。有没有办法禁用自动转换,同时仍然使用数字键的类似数组的对象?我正在使用arrayjs库,并希望在整个应用程序中维护这些类似于数组的对象。

1 个答案:

答案 0 :(得分:3)

它还在文档中说:“目前无法改变或阻止这种行为。”所以不,你不能禁用它。

您可以按照以下方式解决问题:

  • 将任何非数字键添加到路径中(例如“ignoreme”:true),这将阻止任何键被视为数字
  • 使用字符串为项目键添加前缀(例如“rec1”,“rec2”......)
  • 使数字不连续

但实际上,分布式实时数据are ill advised中的连续数字id应该在大多数情况下避免使用。它们只引起心痛。