如何获取 Firestore 文档大小?

2024-01-20

From Firestore 文档 https://firebase.google.com/docs/firestore/quotas,我们得到Firestore 文档的最大大小 is:

文档的最大尺寸1 MiB(1,048,576 字节)

QUESTION

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

Example:

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);
});

我已经发布了一个 npmpackage https://www.npmjs.com/package/firestore-size用于计算 Firestore 文档的大小。

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 Firestore 文档大小? 的相关文章

随机推荐

  • 在 iOS 8 上点击或选择输入字段中的所有内容时,光标超出边框

    IOS8有这个问题 IOS7没有 我有一个输入标签 其内容的长度大于其宽度
  • MMC进程立即关闭,无法链接到Windows窗体

    我想做的最终目标是将 MMC Microsoft 管理控制台 计算机管理管理单元 compmgmt msc 进程嵌入到 Windows 窗体中 或者将其视为模态弹出窗口的解决方法上菜单 现在 我只是想让 mmc exe 本身正常工作 然后再
  • 为什么应该在 LINQ To SQL 存储库保存方法中使用 GetOriginalEntityState()?

    我正在查看 Steven Sanderson 的 Pro ASP NET MVC 2 Framework 一书中的产品存储库中的保存方法示例 public void SaveProduct Product product if new pr
  • Google Cloud SQL 实例无响应,如何获得支持?

    当谈到数据库时 我们希望将管理它们的工作交给专业人士 这就是为什么我们选择 CloudSQL 第二代数据库实例形式的托管解决方案 今天实例停止响应 我单击了重新启动 它已经重新启动了几个小时并且没有响应 我尝试克隆实例 也没有响应 我不知道
  • Rails 3.2 和phonegap

    我当前正在运行一个rails应用程序 我想为其制作一个移动应用程序 我不想学习objective c或java 我读了很多关于phonegap的文章以及如何使用它来制作跨平台Web应用程序 Phonegap编译css htm js Rail
  • 如何在mvc4中区分连接等的调试和发布

    所以我对 MVC4 相当陌生 很多模式对我来说都是新的 然而 我好奇的一件事是关于发布 调试模式的最佳实践 对我来说 实时模式和调试模式之间有很多不同的事情 我希望所有这些都是自动的 这样我就不需要更改任何内容来发布 例如 我在我的存储库
  • 使用 sed 从变量中删除模式

    我正在使用一个脚本 该脚本有一个名为PRODUCT VERSION 该版本带有一个点 例如6 0 我需要删除点并将结果保存在另一个变量中 到目前为止我已经做到了 但它不能正常工作 PRD VER sed s PRODUCT VERSION
  • 从字符串数组创建字符串。最快的方法?

    我有一个字符串数组 A 到 E 我想将它们连接成一个字符串 A B C D E 我应该循环遍历数组还是使用 Join 函数 Dim MyArray 5 as String Dim MyString as String MyArray 1 A
  • 如何从网页添加事件到iCal / Outlook / Gmail?

    包含下载 ics iCal 文件的链接吗 通过电子邮件附加 ics 文件 如何构建文件 哪里可以找到规格 将hCalendar中的数据渲染到页面上有什么好处 那么搜索引擎可以以某种方式索引它吗 Thanks 你的问题的第一部分在谷歌上似乎有
  • PL/SQL中如何使用ifexists-ifnotexists?

    我正在尝试将 ifexists 语句从 SQL Server 转换为 PL SQL 但出现错误 我正在尝试检查是否NAME 1我的中不存在table 1 如果它们不存在 那么我正在检查是否COLUMN NAME NAME 2 存在于我的ta
  • 如何使用 REST API 在 keycloak 中重置用户密码

    我想对我的 Keycloak 服务器进行休息调用 根据文档 这应该很容易 https www keycloak org docs api 10 0 rest api index html executeactionsemail https
  • 支持的视频尺寸 MediaRecorder API android

    我正在尝试使用 mediarecorder 和 mediaprojection api 记录屏幕内容 当我尝试在设备上将视频更改为高清时 录制失败 但在 640 x 480 分辨率下工作正常 所以我的问题是如何获得特定设备上支持的视频分辨率
  • Ionic 模拟 android ERR_CONNECTION_REFUSED localhost:8100

    我尝试在 Android 上模拟我的 Ionic 应用程序 一旦我的应用程序在模拟设备中启动 它就会中断并出现以下错误 应用程序错误 净 ERR CONNECTION REFUSED http 本地主机 8100 http localhos
  • 有没有更好的方法在 C# 中创建深克隆和浅克隆?

    我一直在为一个项目创建对象 在某些情况下我必须为此对象创建深层副本 我想出了使用 C 的内置函数 MemberwiseClone 困扰我的问题是 每当我创建一个新类时 我就必须编写一个像下面的代码这样的函数来进行浅拷贝 有人可以帮我改进这部
  • C# 链式ContinueWith不等待上一个任务完成

    我正在测试 C async await 的异步性 并发现了一个惊喜 ContinueWith 的后续代码不会等待上一个任务完成 public async Task
  • 如何在 Android 模拟器中模拟总网络丢失

    我正在尝试编写一个应用程序 需要知道何时没有可用的 IP 网络连接 我正在使用 android net conn CONNECTIVITY CHANGE 广播事件以及 ConnectivityManager 对状态变化做出反应以实现此目的
  • 如何根据文本过滤 VS Code 中的问题?

    我在 Windows 10 x64 上使用 VS Code 1 41 0 在我的代码 使用您可能从未听说过的研究语言 中 我在 问题 面板中收到很多特定类别的警告消息 我想忽略这些消息 消息的文本在不同实例中略有不同 但始终包含 重复 一词
  • 寻找一种非 LL(1) 的语言?

    我最近一直在研究很多非 LL 1 的语法 其中许多可以转换为 LL 1 的语法 然而 我从未见过这样的例子明确的语言这不是 LL 1 换句话说 一种语言的任何明确语法都不是 LL 1 我也不知道如果我不小心偶然发现了一种语言 我将如何证明我
  • Python 中 open 和 codecs.open 的区别

    在 Python 中打开文本文件有两种方法 f open filename And import codecs f codecs open filename encoding utf 8 When is codecs open优于open
  • 如何获取 Firestore 文档大小?

    From Firestore 文档 https firebase google com docs firestore quotas 我们得到Firestore 文档的最大大小 is 文档的最大尺寸1 MiB 1 048 576 字节 QUE