0

当我尝试将整数数据作为实时数据库的键时,如下所示:

curl -X PUT -d '{"1": 1, "2": 2, "3": 3, "4": 4}'  ${firebase}'/test.json?print=pretty'

数据库自动添加一个null在此处输入图像描述

但是,如果我使用 0 作为开始的数据:

curl -X PUT -d '{"0":0,"1": 1, "2": 2, "3": 3, "4": 4}'  ${firebase}'/test.json?print=pretty'

在此处输入图像描述 没有更多的额外null。为什么会这样?而我想要的不再是null没有“0”作为关键的额外内容。

希望得到您的回答:-)。

4

1 回答 1

1

这是由 Firebase 的数组强制导致的。当它看到一个节点的子键主要是序列号时,它假定您正在尝试存储一个数组。它通过为缺少的元素添加占位符来确保数据实际上是一个数组。

为防止 Firebase 执行此操作,请确保键始终是无法转换为数字的字符串,例如通过为它们添加前缀:curl -X PUT -d '{"key_1": 1, "key_2": 2, "key_3": 3, "key_4": 4}'

另见:

于 2020-04-27T00:08:03.513 回答