我有一个简单的 firestore 集合,我需要获取学生 ID 与学生内部的密钥(img 中红色圆圈)相匹配的所有记录。
const q = query(classessRef, where("students.key", "==", "6CgDymxFqFVgTLef2IMhlu5Sxlm2"));
const querySnapshot = await getDocs(q);
预期输出: 应返回学生字段中有
6CgDymxFqFVgTLef2IMhlu5Sxlm2
的所有班级记录。
使用您现在拥有的数据,您想要做的事情并不完全可能。该字符串“6CgDymxFqFVgTLef2IMhlu5Sxlm2”不是文档中的字段。这只是通往田野的道路的一部分。您可以在查询中使用的字段的完整路径示例是“students.6CgDymxFqFVgTLef2IMhlu5Sxlm2.email”。
因此,如果您假设该学生 ID 的字段始终存在,则可以使用该电子邮件字段(或“students.6CgDymxFqFVgTLef2IMhlu5Sxlm2”下的任何其他嵌套字段名称)。或者,您可以创建一个全新的顶级数组类型字段并将该字符串添加到其中,使用数组包含查询来过滤它。