Cloud Firestore 中文档和字段的名称/键会影响我的配额吗?

Posted

技术标签:

【中文标题】Cloud Firestore 中文档和字段的名称/键会影响我的配额吗?【英文标题】:Do the names/keys of documents and fields in Cloud Firestore affect my quota? 【发布时间】:2018-04-12 08:32:12 【问题描述】:

在pricing overview for Cloud Firestore 中,它说(我的粗体突出显示):

定价概览

当您使用 Cloud Firestore 时,您需要支付以下费用:

您执行的读取、写入和删除的次数。 您的数据库使用的存储量,包括 元数据和索引。 您使用的网络带宽量。

粗体字是否表示如果我对字段使用长名称/键,会影响我的配额?我认为字段名称是为每个单独的文档存储的,这与 SQL 数据库不同,列名称只能存储一次?

【问题讨论】:

【参考方案1】:

是的,没错。字段名称与数据内联存储并计入存储大小。我们在文档的Storage Size Calculations 中提供了完整的详细信息。

存储大小计算

内容 字符串大小 文件名大小 字段大小 文档大小 索引条目大小 下一步是什么 本页介绍 Cloud Firestore 中文档、文档名称、字段和索引条目的存储大小。

您可以在 Cloud Firestore 了解此存储的费用 价钱。字符串大小

字符串大小的计算方法是 UTF-8 编码字节数 + 1。

以下存储为字符串:

文档名称 集合 ID 命名空间名称(默认命名空间 大小为 0) 字段名称 字符串字段值

例如:

Task集合的ID使用4字节+1字节,一共5个 字节。 描述字段的名称使用 11 个字节 + 1 个字节,对于一个 共 12 个字节。 my_namespace 命名空间的名称使用 13 字节 + 1 个字节,共 14 个字节。

【讨论】:

字段名称为每个集合或每个文档存储一次。例如:如果我有 2000 万用户,包含一个 users_full_address 字段。如果我将该字段重命名为 add,我是节省 15 个字节还是 15*20Million 字节(约 300 MB)?

以上是关于Cloud Firestore 中文档和字段的名称/键会影响我的配额吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Cloud Firestore 查询中加入多个文档?

即使文档中缺少请求的字段,如何安全地从 cloud-firestore 获取数据?

Cloud Firestore 无法检索文档或字段

Cloud Firestore:将字段值添加到文档

如何在 Swift 中从 Cloud FireStore Firebase 访问特定字段

如何从Swift中的Cloud FireStore Firebase访问特定字段