【问题标题】:Firebase Real Time Database data saving strategyFirebase 实时数据库数据保存策略
【发布时间】:2018-06-25 06:41:21
【问题描述】:

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

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

【问题讨论】:

  • Firebase 不支持 存储 'Null',如果您将节点值设置为 Null (nil),它将被删除。请参阅我对this question 的回答,了解如何使用 NSNull (ObjC) 一次删除多个节点

标签: firebase firebase-realtime-database nosql


【解决方案1】:

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

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

  1. 字符串
  2. 布尔值
  3. 地图
  4. 列表

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

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

NSString
NSNumber
NSDictionary
NSArray

【讨论】:

  • 另一方面,Firebase Cloud Firestore 有更多种类的data types,包括地理点。你可能想看看它。
  • 好答案!附带说明一下,Firebase 不支持存储“Null”数据类型。即每个键必须具有上述值之一 - 值不能为 nil/null,如果是,则该节点将被删除。
猜你喜欢
  • 2021-05-24
  • 1970-01-01
  • 2021-10-09
  • 2017-11-01
  • 2021-12-30
  • 2020-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多