使用reactJs在firestore中使用查询来调用文档内的特定字段

问题描述 投票:0回答:1

My database picture 我正在尝试使用查询方法获取文档内的字段。但我不能,也没有收到任何错误(“可能查询响应为空”)

const chatId = "6042ff11-fe94-4e65-958b-80130d9e7108"

 const docRef = collection(db, 'userGroups');
      const q = query(docRef, where(`${chatId}`, "==", `${chatId}`));
      // I also tried method below but I got no result
      // const q = query(docRef, where(`${chatId}`, "==", `${chatId}`));
      const gg = (await getDocs(q))
      gg.forEach(doc => {
        console.log(doc);
      });
reactjs firebase google-cloud-firestore
1个回答
0
投票

您正在查询与名称具有相同数据的字段名称。根据您的屏幕截图,这总是会返回空。

const q = query(docRef, where("6042ff11-fe94-4e65-958b-80130d9e7108", "==", "6042ff11-fe94-4e65-958b-80130d9e7108"));

在您的数据库中,“6042ff11-fe94-4e65-958b-80130d9e7108”字段中的值看起来有一些 JSON。你明白为什么这永远不会返回任何东西吗?您没有任何数据,其中密钥“6042ff11-fe94-4e65-958b-80130d9e7108”也包含数据“6042ff11-fe94-4e65-958b-80130d9e7108”。

我认为你不需要使用

where()
子句。您可以尝试选择:

const q = query(docRef, select(chatId));
© www.soinside.com 2019 - 2024. All rights reserved.