Google cloud firestore 如何在Cloud Firestore中实现groupwise max?

Google cloud firestore 如何在Cloud Firestore中实现groupwise max?,google-cloud-firestore,Google Cloud Firestore,我正在学习使用Flotter的Cloud Firestore 假设我有一个名为“更新”的集合: { uid: 1234, update: "At work", date: <timestamp> } 每一个。但是如何从我的更新集合中获取用户列表呢?我是否需要存储一个单独的用户集合,确保其唯一,并使其与我的更新集合保持同步 如果我这样做了,有没有一种好方法可以一步完成检索,或者我必须获取所有用户,然后对他们进行迭代,检索他们最近的文档ID并请求该文档 我来自mysql的背

我正在学习使用Flotter的Cloud Firestore

假设我有一个名为“更新”的集合:

{
  uid: 1234,
  update: "At work",
  date: <timestamp>
}
每一个。但是如何从我的更新集合中获取用户列表呢?我是否需要存储一个单独的用户集合,确保其唯一,并使其与我的更新集合保持同步

如果我这样做了,有没有一种好方法可以一步完成检索,或者我必须获取所有用户,然后对他们进行迭代,检索他们最近的文档ID并请求该文档


我来自mysql的背景,我认为我做得不对:|

Cloud Firestore不提供任何聚合查询,例如sum、avg等。您必须将这些额外数据存储在另一个集合中,正如您已经确定的那样。云函数通常用于自动保持对文档的更改与其他文档同步

Cloud Firestore也不支持跨多个具有不同名称的集合的查询,也不支持集合之间的任何联接。如果需要来自多个集合的数据,则必须对它们进行多个查询,并将结果连接到客户端


这对于NoSQL类型的数据库来说是非常典型的。

非常感谢您对这一点进行清理!我想可能是这样的,我担心我问这样一个初学者的问题会有点懒,但我读了很多资料试图找到这种“不,你不应该这样做”的确认,所以非常感谢你花时间:)
db.collection("updates")
  .where("uid", "==", $uid)
  .orderby(date desc)
  .limit(1)
  .get();