是否可以禁用 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 在大多数情况下应避免使用。他们只会让人心痛。
在 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 在大多数情况下应避免使用。他们只会让人心痛。