【问题标题】:Firebase Firestore: use .where() with a subcollection [duplicate]Firebase Firestore:将 .where() 与子集合一起使用 [重复]
【发布时间】:2021-11-15 09:27:03
【问题描述】:
我想做这样的事情:
firestore().collection('users').collection("account").where('email', '==', "example@gmail.com").get();
我想在拥有特定电子邮件的用户中获取用户数据。但这里的问题是电子邮件位于子集合中。
怎么做?
【问题讨论】:
标签:
javascript
typescript
firebase
google-cloud-firestore
react-native-firebase
【解决方案1】:
这就是问题所在,在当前的 SDK 中,您不能这样做。您必须指定完整路径,即:
collection1->doc->collection2.where(..etc
如果它很重要,建议将此key \email 移动到第一个集合中的文档中。否则,您必须运行多个链式查询。或者获取集合#1 中的所有文档,然后对于每个文档,对这些文档中的每一个运行where 查询并查看它们的子集合,但这会花费你大量的阅读时间。考虑重组您的数据。