首页 > 解决方案 > 如何检查firebase中是否存在文档?

问题描述

如何检查 id 是否在我的 firebase 集合中?我需要检查 item.id 是否在包含多个 id 的集合“收藏夹”中。

如果它在内部,我需要分配一个值 true,如果没有具有相同 id 的值,我需要分配一个 false。

标签: reactjsfirebasegoogle-cloud-firestore

解决方案


据我所知,如果不实际获取文档,就无法“检查”集合中是否存在文档。当您尝试访问get该文档时,它会返回一个doc带有exists变量的 -。

因此,您可以像这样检查文档是否存在(使用 Promises):

const doesDocExist = (docID) => {
    return firestore().collection("cities").doc(docID).get().then((doc) => {
         return doc.exists
    })
}


//Call the function to check if doc exists:
let doesSanFranciscoExist = await doesDocExist("SF")

请注意,在上述函数中,您正在尝试获取带有 ID 的文档。

或者,如果您想通过一次读取检查是否存在多个文档,您可以使用 Cloud Functions 在数据库中的其他位置维护文档 ID 列表。

在 Firestore 中获取文档


推荐阅读