如何获得基于其子集合firestore中的内容的文档?



我有一个firestore数据库,看起来像这样:posts(collection)/post (document)/upvote (collection)/userID (document)。现在,例如我的用户id是1234,所以它看起来像这样。

帖子/狗很酷/upvote/1234(userid)

id还想添加结束文档的名称是userid,它的内部只是一个属性,说存在:true这只是为了它不会被自动删除。

我的目标是进入并检查我的用户是否对这篇文章点赞,如果他们有id想返回帖子文档而不是点赞文档。这是一个很好的功能,我喜欢显示我支持的帖子。我使用next js和firestore,我有点新,我试过用查询onsnapshot,但似乎它可能是我缺少的大东西。

Firestore查询只能过滤它们返回的文档中的数据。因此,如果您希望从posts集合返回文档,则只能过滤这些文档中的数据—而不能过滤其下的upvote集合中的文档。

解决方案通常是确保您在posts文档中有一些关于投票的数据。例如,如果您在posts中的每个文档中存储一个upvoteCount,则可以将其用于查询—并实现更多用例,例如获得最多支持的帖子。每当在upvotes集合下写入(或删除)相关文档时,您必须更新posts中的文档。