代码之家  ›  专栏  ›  技术社区  ›  stop-error

查询大量文档是否会导致读取集合中的所有文档,即使它们不符合条件?

  •  0
  • stop-error  · 技术社区  · 4 年前

    基本上,我想查询可能有100个文档或20万个文档的数据集合 既然我想把目标设定为一个采石场最多50个,那么这个查询将花费我读取该集合中的文档总数,还是只需要满足查询条件的文档?

    const q = query(collection(db, 'Data'), where('clientId', '==', id));
    1 回复  |  直到 4 年前
        1
  •  1
  •   Dharmaraj    4 年前

    您只需按查询返回的文档数付费。如果有50个客户ID匹配的文档,无论集合中有多少文档,都将收取50次读取的费用。

    你还可以 limit 要从查询中返回的文档数:

    const q = query(collection(db, 'Data'), where('clientId', '==', id), limit(10));
    

    此查询将收费 顶多 10读。如果您的客户需要检索更多文档,您可以使用 startAt() 子句获取与查询匹配的下10个文档。