我正在开发一个应用程序,我想查询 Firestore 子文档。让我进一步解释一下。
- 我有一组存储汽车的文档,每个文档都有一辆带有描述的特定汽车。
- 在上面的每个文档中,我都有一个名为的子集合
user_data
它有自己的文档,其中存储了将汽车添加到其愿望清单的用户的特定用户 ID。
现在我想获取汽车的文档(如果用户 ID 存在于其子集合中)。简而言之,我想获取特定用户的愿望清单。
我将 Streambuilder 与 listviewbuilder 一起使用,但问题是如何执行此查询?
或者有没有更简单的方法来做到这一点?
Firestore 中的查询是浅查询,这意味着它们仅从运行查询的集合中获取项目。无法在单个查询中从顶级集合和其他集合或子集合中获取文档。 Firestore 不支持一步跨不同集合进行查询。因此,您无法根据子集合中存在的项目从集合中获取项目。单个查询只能使用单个集合中文档的属性。
简而言之,我想获取特定用户的愿望清单。
因此,我能想到的最简单的解决方案是在每个用户对象下添加一系列最喜欢的汽车。您的新数据库结构应类似于以下内容:
Firestore-root
|
--- users
|
--- uid
|
--- favoriteCars : ["carId", "carId"]
通过这种方式,您可以查询数据库以仅获取用户标记为喜爱的汽车。您还可以将实际的汽车对象存储在数组中,而不是存储这些 ID。请参见here有关优点和缺点的更多详细信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)