【问题标题】:React Native - Firebase Realtime Database and storing arraysReact Native - Firebase 实时数据库和存储数组
【发布时间】:2018-03-06 20:55:31
【问题描述】:

假设我有一个字符串数组:var myFavouriteSites = ["www.fb.com", "www.xe.com", "www.youtu.be"];

有没有办法可以将此数组作为一个“字段”推送到实时数据库中?全部存储在一个地方?因为我读过它们必须与唯一的 id/key 匹配,而我不熟悉如何做到这一点。

【问题讨论】:

    标签: arrays firebase firebase-realtime-database


    【解决方案1】:

    我不确定您所说的“在一个地方”是什么意思。但我可以告诉你,实时数据库中的所有内容本质上都是键/值对,其中的值可以是字符串、数字或其他对象。没有原生的“数组”值类型。数组被翻译成键是数组索引的对象。所以如果你在/location分配一个数组:

    ["www.fb.com", "www.xe.com", "www.youtu.be"]
    

    您将获得如下所示的数据库结构:

    /location
        0: "www.fb.com"
        1: "www.xe.com"
        2: "www.youtu.be"
    

    【讨论】:

    • 哦,我现在明白了。但是数据的操作是如何完成的呢?假设我有值“www.fb.com”,有没有办法获取它的键(在这种情况下为 0)并从数据库中删除键值对?如果可以删除数据,它下面的剩余键会发生什么?他们会将他们的顺序更改为:0:“www.xe.com”1:“www.youtu.be”吗?
    • 它的行为就像任何键/值对一样。该数组将没有 0 元素。通常不建议像这样在实时数据库中存储可变数组。相反,他们经常在某个位置 push() 数据以及用于对项目进行排序的任何键(如有必要)。
    • 非常感谢。最后一个问题。如果我决定要推送具有某种唯一 id 的随机字符串或数字的字符串。有没有一种方法可以通过一次调用从 /location 中提取所有值,而无需实际知道密钥,因为它们是唯一的随机生成的?
    • 我不确定你在这里问什么。你能用更多细节来格式化一个新问题,帮助人们想象和理解你打算完成什么吗?
    猜你喜欢
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 2019-07-11
    • 2019-09-06
    • 1970-01-01
    相关资源
    最近更新 更多