首页 > 解决方案 > 如何在反应js中查询firestore v9数据

问题描述

如何使用 firebase 和 cloud-firestore v9 执行带有条件 where() 子句的查询?

  useEffect(
    () =>
      onSnapshot(
        collection(db, "Article"),
        where("category", "array-contains", "Apple"),
        (snapshot) =>
          setArticles(
            snapshot.docs.map((doc) => ({
              ...doc.data(),
              id: doc.id,
            }))
          )
      ),
    []
  );

标签: javascriptreactjsfirebasegoogle-cloud-firestore

解决方案


你错过了一个query电话:

onSnapshot(
  query(
    collection(db, "Article"),
    where("category", "array-contains", "Apple"),
  )
  (snapshot) =>
  ...

另请参阅有关查询的 Firebase 文档,其中包含 v9 SDK 和旧版/其他 SDK 的示例。


推荐阅读