查询多个集合中的数据

imd*_*yen 2 firebase google-cloud-firestore

我正在使用 Firebase Firestore 开发聊天应用程序。我有一个用于房间聊天的集合,另一个用于用户信息。听房间快照时如何检索用户数据。

这是我的数据库结构:

在此处输入图片说明

在此处输入图片说明

请帮忙

Fra*_*len 10

Firestore 没有服务器端连接或跨集合投影的概念。每个查询或文档读取只能从单个集合中获取数据,或者从与集合组查询同名的所有集合中获取数据。如果需要从两个集合加载数据,则至少需要两次读取。

因此,在您的情况下,您需要单独加载用户数据,通常将其缓存在代码的集合中,以防止过于频繁地加载同一用户。

另一种替代方法是将您经常需要的每个用户的数据复制到聊天文档中。在 NoSQL 数据库中建模数据时,这种类型的重复也很常见。

有关这些主题的更多信息,我强烈建议您阅读NoSQL 数据建模并观看了解 Cloud Firestore