【发布时间】:2022-01-07 16:56:04
【问题描述】:
大家好,我尝试从具有字段值名称和名为 kurzwaffensub 的子集合的文档中获取数据,但对于我的项目,我需要执行 collectionGroup query ,之后我需要每个文档的 Name value 与子集合中的查询匹配。
所以让我解释一下。
首先,我需要根据它们的两个参数kurzHersteller 和kurzModell 从子集合中对documents 进行collectionGroup query,我在图片中用绿色标记。
之后,我得到与查询匹配的每个Subcollection 中的所有Documents。
如您所见,blue document uid 与子集合的每个文档的字段值中的 uid 相同。
而我的目标是在subcollection的分组查询后,得到主集合documents的红色标记fieldvalue。
但我只想接收与查询要求匹配的documents 的名称。
所以在这种情况下,我需要名称Felix Sturms,因为他的subcollection 中有一个document,标记为黄色
与搜索 kurzHersteller : Andere 和 kurzKaliber : Andere 匹配
我不知道这是否可行,或者我是否需要以其他方式构造我的数据。我是 firebase firestore 的初学者,所以也许你可以帮助我。
const [test, setTest] = useState([]);
const HEuKA = query(kurzRef,where("kurzHersteller", "==", `${kurzHersteller}` ), where('kurzKaliber' , '==', `${kurzKaliber}`));
const handleClick = async () => {
...blablabla
...
} else if (kurzHersteller && kurzKaliber) {
const modell = await getDocs(HeuKa);
modell.forEach((doc) => {
// doc.data() is never undefined for query doc snapshots
setTest(doc.id, " => ", doc.data());
});
} else { alert('Bitte etwas eingeben')}
}
所以这是我收到与查询匹配的子集合的文档数组后的第一个操作,我需要另一个操作来从父集合中获取相应的文档,其中包含有关具有用户名称的信息子集合中与本示例的值kurzHersteller: Andere 和kurzModell: Andere 匹配的文档。
【问题讨论】:
标签: javascript reactjs firebase google-cloud-firestore filtering