【问题标题】:Get all documents of a collection spends read for each document?获取为每个文档读取的集合的所有文档?
【发布时间】:2019-07-09 22:32:42
【问题描述】:

我有一个 React 应用程序,其中一个集合包含 3.000 多个文档。 我的配额花费太快。

当我使用 onSnapshot() 或 get() 获取 3.000 个文档时,我为每个读取的文档花费了我的配额?

如果是这样,有没有办法让文档只花费 1 次阅读?

【问题讨论】:

  • 当你说集合是什么类型的数据时,这是一个大对象还是文档的大小?还有你说的消费是什么意思?你指的是带宽吗?
  • 您可以直接在集合上执行 get() 以一次读取返回整个内容(包括文档)吗?
  • Neil,我所说的集合有几个文档(是产品列表)。当我说支出时,我指的是 Firestore 限制使用的写入和读取计数。嗨杰瑞德!当我使用 get() 返回 3000 个文档时,Firebase 计数 3000 次读取还是仅 1 次读取?
  • 如果您检索 3000 个文档,它会计算 3000 次读取(每个用户)...如果 3 个用户使用该查询加载您的应用程序,则有 9000 次读取...很多更新,因为在进行更新时您正在花费写入,而列出这些更改的每个用户都在读取...

标签: reactjs firebase react-redux google-cloud-firestore


【解决方案1】:

没有任何解决方法,如果您查询您为每个进行查询的每个用户支付的每个文档(1 个文档是 1 个读取)的整个集合...也许您应该以您不这样做的方式构建您的应用程序不需要一次查询所有数据,也不需要使用分页。

This article 可以帮助您开始分页。

或者,Firebase 不是适合您的业务案例的工具。

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 2021-03-30
    • 2020-08-09
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多