【问题标题】:Check if a document exists on Firestore without get() the full document data在没有获取完整文档数据的情况下检查 Firestore 上是否存在文档
【发布时间】:2020-05-27 22:12:39
【问题描述】:

所以这是可能的:

const docSnapshot = await firebase.firestore().collection("SOME_COL").doc("SOME_DOC").get();
console.log(docSnapshot.exists);

但它“下载”整个文档只是为了检查它是否存在。而且我目前正在处理一些更高级的文档,并且我有一个脚本,我只需要知道它们是否存在,但那时我不需要下载它们。

有没有办法检查没有.get()的文档是否存在并避免下载文档数据?

【问题讨论】:

    标签: firebase google-cloud-firestore


    【解决方案1】:

    您似乎正在使用 JavaScript SDK。使用此 SDK,无法仅获取文档字段的子集。

    一种可能的解决方案是维护另一个集合,其中包含与主集合文档具有相同 ID 但仅包含非常小的虚拟字段的文档。您可以使用一组Cloud Functions 来同步这两个集合(文档创建/删除)。


    另一方面,使用Firestore REST API,可以使用get 方法定义一个DocumentMask,它定义了“文档上的一组字段路径”并“用于限制一个获取对文档的操作对其字段的子集”。根据您的具体用例,这可能是一个有趣且更简单的解决方案。

    【讨论】:

      猜你喜欢
      • 2023-02-25
      • 2020-08-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-22
      • 2020-10-05
      • 1970-01-01
      • 2018-02-13
      • 2021-11-09
      相关资源
      最近更新 更多