gpt4 book ai didi

firebase - 如何获取 Firestore 文档大小?

转载 作者:行者123 更新时间:2023-12-01 19:50:07 25 4
gpt4 key购买 nike

来自Firestore docs ,我们得到Firestore 文档的最大大小为:

Maximum size for a document 1 MiB (1,048,576 bytes)

问题

我如何知道单个文档的当前大小,以检查我是否正在接近1mb 限制?

示例:

var docRef = db.collection("cities").doc("SF");

docRef.get().then(function(doc) {
if (doc.exists) {
console.log("Document data:", doc.data());
// IS THERE A PROPERTY THAT CAN DISPLAY THE DOCUMENT FILE SIZE?
} else {
// doc.data() will be undefined in this case
console.log("No such document!");
}
}).catch(function(error) {
console.log("Error getting document:", error);
});

最佳答案

我发布了一个 npm package用于计算 Firestore 文档的大小。

其他计算 JS 对象大小的包(例如 sizeofobject-sizeof)不会给出精确的结果,因为 Firestore 中的某些原语具有不同的字节值。例如,Js 中的 bool 值存储在 4 个字节中,在 Firestore 文档中存储为 1 个字节。 Null 是 0 字节,在 Firestore 中是 1 字节。

此外,Firestore 还拥有自己的具有固定字节大小的独特类型:地理点、日期、引用。

引用是一个大对象。像 sizeof 这样的包将遍历 Reference 的所有方法/属性,而不是在这里做正确的事情。这是对文档名称的字符串值 + 其路径 + 16 个字节求和。另外,如果 Reference 指向父文档,则 sizeofobject-sizeof 将不会检测到此处的循环引用,这可能会带来比错误大小更大的麻烦。

关于firebase - 如何获取 Firestore 文档大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59093752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com