我正在学习将Cloud Firestore与Flutter结合使用。
说我有一个名为Updates的集合:
{
uid: 1234,
update: "At work",
date: <timestamp>
}
我想获取每个用户的最新更新。如果我有用户列表,则可以:
db.collection("updates")
.where("uid", "==", $uid)
.orderby(date desc)
.limit(1)
.get();
每个。但是,如何从更新集合中获取用户列表?我是否需要存储一个我确保唯一的用户集合,并将其与更新集合保持同步?
如果我正在这样做,是否有一个好的方法可以一步一步进行检索,还是我必须让所有用户然后遍历他们并检索其最近的文档ID并请求该文档? / p>
我来自mysql背景,我认为我做错了:|
答案 0 :(得分:1)
Cloud Firestore不提供任何聚合查询,例如sum,avg等。正如您已经确定的那样,您将不得不将这些额外的数据存储在另一个集合中。云功能通常用于自动保持对文档的更改与其他文档同步。
Cloud Firestore还不支持跨多个具有不同名称的集合的查询,也不支持集合之间的任何联接。如果您需要多个集合中的数据,则必须对它们进行多个查询,然后将结果合并到客户端中。
对于NoSQL类型数据库,这都是非常典型的。