![](/img/trans.png)
[英]How to query on Firestore sub collection and get spacyfyi document id?
[英]How to query to Firestore sub document
我正在开发一个应用程序,我想查询 Firestore 子文档。 让我进一步解释。
user_data
的子集合,它有自己的文档,其中存储了将汽车添加到他的心愿单的用户的特定用户 ID。现在,如果用户 ID 存在于其子集合中,我想获取汽车的文档。 简而言之,我想获取特定用户的愿望清单。 我正在将 streambuilder 与 listviewbuilder 一起使用,但问题是如何执行此查询?
或者有没有更简单的方法来做到这一点?
Firestore 中的查询是浅层的,这意味着它们只能从运行查询的集合中获取项目。 无法在单个查询中从顶级集合和其他集合或子集合中获取文档。 Firestore 不支持一步跨不同集合的查询。 因此,您无法根据子集合中存在的项目从集合中获取项目。 单个查询只能使用单个集合中的文档属性。
简而言之,我想获取特定用户的愿望清单。
所以我能想到的最简单的解决方案是在每个用户对象下添加一组最喜欢的汽车。 您的新数据库结构应该类似于:
Firestore-root
|
--- users
|
--- uid
|
--- favoriteCars : ["carId", "carId"]
通过这种方式,您可以查询数据库以仅获取用户将其标记为收藏的汽车。 您还可以将这些 id 存储在数组中,而不是存储实际的汽车对象。 请在此处查看有关优缺点的更多详细信息。
目前 Firebase Cloud Firestore 不支持使用子集合进行查询。 您可能必须以可查询的方式构建数据库。
您可以从 Firebase 查看此视频。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.