【问题标题】:What are the sizes for numbers in Firestore?Firestore 中数字的大小是多少?
【发布时间】:2020-04-06 18:49:11
【问题描述】:

我检查了storage size,但在存储数字时我很困惑。

  1. 如果是Bytes,“字节长度”是什么意思?如果我存储-128 长度是多少?如果是 12 个?

  2. 如果是浮点数和整数,我存储 325 还是 9.9999999999999 都没有关系,它总是 8 个字节?

  3. 如果是数组?假设我们有 ["ab", "bcd"],大小是多少,(2+3=5)(2+1)+(3+1)=7

【问题讨论】:

    标签: firebase google-cloud-firestore


    【解决方案1】:
    1. 如果您存储一个字节数组,则大小将只是该数组的长度。单字节值为 -128 的数组仍然只有一个字节。

    2. 是的,所有数字都占用相同的 8 字节大小,即使您看不到小数部分。

    3. 文档说它是数组元素大小的总和,所以我期望 7,两个单独的字符串大小的总和,每个字符串都以 UTF-8 + 1 编码

    【讨论】:

    • 再次感谢您对我的帮助。在 1. 我指的是文档列表中的第三个元素(字节 -> 字节长度),而不是字节数组。那是什么长度?我看到Bytes 被用作数据类型。如果是数组元素,它总是(元素大小 + 1),对吧?
    • -128 是一个数字,而不是字节数组。所以字节数组规则不适用。
    • 我现在更困惑了。当有数字数据类型时,为什么有人会添加字节作为数据类型。所以 -128 也是一个字节,但也是一个数字。我对那个“字节长度”感到困惑。
    • 如果你不写字节数组,那么你就不用担心了。有人可能想要存储字节数组的原因是他们想要与文档相关联的少量二进制数据(例如图像,一些文件有效负载)。这不是很常见,但它已记录在案并得到支持。
    • 完全理解。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 2013-01-09
    相关资源
    最近更新 更多