是否可以禁用 Firebase 自动转换为原生数组?

Is it possible to disable Firebase's auto-conversion to native arrays?

在 Firebase 文档中,它说:

Firebase stores all data as Objects, even Arrays are stored as objects with numerical keys. As a convenience, the Firebase Web API automatically converts Array-like Objects into Arrays for use JavaScript.

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

它还在文档中说:"It's not currently possible to change or prevent this behavior."所以不,你不能禁用它。

您可以按如下方式解决它:

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

但实际上,分布式实时数据中的顺序数字 ID are ill advised 在大多数情况下应避免使用。他们只会让人心痛。