Firebase 实时数据库数据保存策略

Fah*_*bid 2 nosql firebase firebase-realtime-database

我正在研究 Firebase 实时数据库如何存储值。例如:如果数据类型是 number 而不是我存储的数字null,它是分配 1 个字节还是 8 个字节?我在文档中找不到任何关于它的信息。

第二个问题是:我要发送一个geolocation点。在数据库中,我想检查它是否被强制转换为floatgeopoints数据类型。我该如何检查?

Ros*_*des 6

Firebase 实时数据库只是一个 JSON 树。您可以将其想象为一个包含非常大字符串的大型文本文件(该字符串就是您的数据库)。文本文件并没有真正解析数据类型,这意味着如果您存储null,它总计4 个字节(每个字符 1 个字节),4例如存储数字将分配1 个字节

回答第二个问题:Firebase 实时数据库 (Android) 支持的唯一数据类型是:

  1. 细绳
  2. 双倍的
  3. 布尔值
  4. 地图
  5. 列表

这意味着您的 Geolocation 将被转换为 Double。

编辑:ObjC/Swift 数据支持的数据类型是

NSString
NSNumber
NSDictionary
NSArray
Run Code Online (Sandbox Code Playgroud)

  • 好答案!附带说明一下,Firebase 不支持存储“空”数据类型。即每个键必须具有上述之一的值 - 值不能为 nil/null,如果是,则将删除该节点。 (3认同)