Firebase Firestore:将 .where() 与子集合一起使用

Firebase Firestore: use .where() with a subcollection

我想做这样的事情:

firestore().collection('users').collection("account").where('email', '==', "example@gmail.com").get();

我想在拥有特定电子邮件的用户中获取用户数据。但是这里的问题是电子邮件在子集合中。
怎么做?

就是这个问题,在目前的SDK中,你不能这样做。您必须指定完整路径,即:

collection1->doc->collection2.where(..etc

建议将此 key \email 移动到第一个集合中的文档,如果它那么重要的话。否则,您必须 运行 多个链接查询。或者获取集合#1 中的所有文档,然后对于每个文档,运行 您对每个文档的 where 查询并查看它们的子集合,但这会花费您大量的阅读。考虑重组您的数据。