Google cloud firestore 什么是「;名称空间字符串";在Cloud FireStore中创建文档(用于计算文档的存储大小)?

Google cloud firestore 什么是「;名称空间字符串";在Cloud FireStore中创建文档(用于计算文档的存储大小)?,google-cloud-firestore,Google Cloud Firestore,[EDIT:感谢@JRLtechwriting,下面提到的文档已经更新,因此不再提及名称空间——Firestore(还没有)支持它们——并包含了更完整的示例。经过这些改进后,我的问题可能不会再提了!] 我正试图编写一个通用函数来计算Cloud Firestore文档的存储大小,但我已经无法计算文档名称的大小,因为我不知道文档名称空间的确切含义: 文档名称的大小是以下各项的总和: 命名空间字符串大小(如果不在默认命名空间中) 文档名称的完整字符串大小(每个整数ID为8个字节) 16个附加字节

[EDIT:感谢@JRLtechwriting,下面提到的文档已经更新,因此不再提及名称空间——Firestore(还没有)支持它们——并包含了更完整的示例。经过这些改进后,我的问题可能不会再提了!]

我正试图编写一个通用函数来计算Cloud Firestore文档的存储大小,但我已经无法计算文档名称的大小,因为我不知道文档名称空间的确切含义:

文档名称的大小是以下各项的总和:

  • 命名空间字符串大小(如果不在默认命名空间中)
  • 文档名称的完整字符串大小(每个整数ID为8个字节)
  • 16个附加字节
它还表示名称空间存储为字符串。所以,对于这个假设的CFS文件

var alovelaceDocumentRef = db.collection('users').doc('alovelace');
…根据文档,也可以这样引用

var alovelaceDocumentRef = db.doc('users/alovelace');
…名称空间字符串是否为
'users'
?或者可能是
“用户/”
?不幸的是,《存储大小计算指南》中的所有示例都采用默认名称空间(其大小为0)

我觉得我应该能够通过实验找到我问题的答案,但我能想到的唯一方法是:

  • 在非默认命名空间中创建文档
  • 使用中的信息在变量“docSize”中跟踪其大小 存储大小计算指南),因为我以增量方式向其中添加数据
  • 当我收到超过最大值的错误消息时 文档大小(根据,为1048576字节),从1048576中减去docSize得到名称空间的大小 串

  • 但这种方法似乎是劳动密集型的,而且可能由于我的理解/知识的其他限制而导致不准确,所以我希望你们中的一位更有知识的人能够提供帮助。谢谢

    Firestore不支持不同的名称空间(),因此所有文档都将位于默认名称空间中。命名空间字符串大小将始终为0


    我帮助维护Firestore文档,因此更新了页面。

    Firestore不支持不同的命名空间(),因此所有文档都将位于默认命名空间中。命名空间字符串大小将始终为0


    我帮助维护Firestore文档,因此我更新了页面。

    感谢您抽出时间更新文档。绝对比旧版本清晰。我将编辑这个问题以提及这一点,因为我对它的引用现在已经过时。在[修订版]存储大小计算文档中仍然存在明显的不一致性:它说文档名称和集合ID存储为字符串,但后来说数字ID占用8字节的存储空间。我注意到JS Firestore客户端库(从版本4.9.1开始)不允许集合或文档使用数字ID。那么,数字标识是否可行?如果我制作了一个ID为“3”(至少在客户端是一个字符串)的集合或文档,我能指望这个ID只需要2字节的存储空间吗?关于文档ID始终是字符串的说法你应该是对的。让我仔细检查一下是否有任何情况下,您可以使用整数文档ID。感谢您花时间更新文档。绝对比旧版本清晰。我将编辑这个问题以提及这一点,因为我对它的引用现在已经过时。在[修订版]存储大小计算文档中仍然存在明显的不一致性:它说文档名称和集合ID存储为字符串,但后来说数字ID占用8字节的存储空间。我注意到JS Firestore客户端库(从版本4.9.1开始)不允许集合或文档使用数字ID。那么,数字标识是否可行?如果我制作了一个ID为“3”(至少在客户端是一个字符串)的集合或文档,我能指望这个ID只需要2字节的存储空间吗?关于文档ID始终是字符串的说法你应该是对的。让我再检查一下,是否有任何情况下,您可以最终使用整数文档ID。