如何在不转换为数组的情况下将数字添加为 firebase 实时数据库 child?
How to add number as firebase realtime database child without converting to array?
我想制作如下的数据库结构:
但它只是将整个 object 转换为一个数组。
这是我导出此 JSON 时得到的结果。
[ null, {
"oPNfOlBcS4gl3rvZ4CIme9MDk0p1" : {
"added_at" : 1647966583316,
"city" : "Test",
"country" : "Test",
"name" : "Test",
"state" : "Test",
"uid" : "oPNfOlBcS4gl3rvZ4CIme9MDk0p1"
}
}, {
"oPNfOlBcS4gl3rvZ4CIme9MDk0p1" : {
"added_at" : 1647966583316,
"city" : "Test",
"country" : "Test",
"name" : "Test",
"state" : "Test",
"uid" : "oPNfOlBcS4gl3rvZ4CIme9MDk0p1"
}
} ]
我尝试将第一个 child 保留为 1,将第二个保留为“第一个”(或一些随机字符串)并导出 JSON 这就是我得到的...
{
"1" : {
"oPNfOlBcS4gl3rvZ4CIme9MDk0p1" : {
"added_at" : 1647966583316,
"city" : "Test",
"country" : "Test",
"name" : "Test",
"state" : "Test",
"uid" : "oPNfOlBcS4gl3rvZ4CIme9MDk0p1"
}
},
"first" : {
"oPNfOlBcS4gl3rvZ4CIme9MDk0p1" : {
"added_at" : 1647966583316,
"city" : "Test",
"country" : "Test",
"name" : "Test",
"state" : "Test",
"uid" : "oPNfOlBcS4gl3rvZ4CIme9MDk0p1"
}
}
}
我想要类似的东西,但是 children 喜欢“1”,而不是“2”。
可能吗?或者像“first”一样使用children,“second”是目前唯一的解决方案?
当您读取带有连续数字键的节点时(如您的屏幕截图和第一个 JSON 示例所示),Firebase SDK(和 REST)API)会自动将该数据强制转换为一个数组。无法配置此行为。
如果您不想要数组强制转换,您应该使用 non-numeric 键。我常用的方法是在每个键前加上一个短字符串,例如“key1”、“key2”等
我想制作如下的数据库结构:
但它只是将整个 object 转换为一个数组。
这是我导出此 JSON 时得到的结果。
[ null, {
"oPNfOlBcS4gl3rvZ4CIme9MDk0p1" : {
"added_at" : 1647966583316,
"city" : "Test",
"country" : "Test",
"name" : "Test",
"state" : "Test",
"uid" : "oPNfOlBcS4gl3rvZ4CIme9MDk0p1"
}
}, {
"oPNfOlBcS4gl3rvZ4CIme9MDk0p1" : {
"added_at" : 1647966583316,
"city" : "Test",
"country" : "Test",
"name" : "Test",
"state" : "Test",
"uid" : "oPNfOlBcS4gl3rvZ4CIme9MDk0p1"
}
} ]
我尝试将第一个 child 保留为 1,将第二个保留为“第一个”(或一些随机字符串)并导出 JSON 这就是我得到的...
{
"1" : {
"oPNfOlBcS4gl3rvZ4CIme9MDk0p1" : {
"added_at" : 1647966583316,
"city" : "Test",
"country" : "Test",
"name" : "Test",
"state" : "Test",
"uid" : "oPNfOlBcS4gl3rvZ4CIme9MDk0p1"
}
},
"first" : {
"oPNfOlBcS4gl3rvZ4CIme9MDk0p1" : {
"added_at" : 1647966583316,
"city" : "Test",
"country" : "Test",
"name" : "Test",
"state" : "Test",
"uid" : "oPNfOlBcS4gl3rvZ4CIme9MDk0p1"
}
}
}
我想要类似的东西,但是 children 喜欢“1”,而不是“2”。
可能吗?或者像“first”一样使用children,“second”是目前唯一的解决方案?
当您读取带有连续数字键的节点时(如您的屏幕截图和第一个 JSON 示例所示),Firebase SDK(和 REST)API)会自动将该数据强制转换为一个数组。无法配置此行为。
如果您不想要数组强制转换,您应该使用 non-numeric 键。我常用的方法是在每个键前加上一个短字符串,例如“key1”、“key2”等