首页 > 解决方案 > Firestore - 如何使用 3 个根集合获取用户喜欢的帖子?

问题描述

我正在尝试使用 3 个根集合 、 、 检索用户喜欢的users帖子。postslikes

我已经像这样构建了我的数据库:

users
 userId
  someData

posts
 postId
  someData
 postId
  someData
 postId
  someData

likes
 postId_userId
  someData
 postId_userId
  someData

所以基本上它是一个用户集合、一个帖子集合和一个中间人喜欢的集合,其中组合键作为 ID。

我不能在帖子或用户文档中写赞,因为它可能有 100 或 10000 个赞,因此无法扩展。

我认为这种方法太慢了,因为我必须检索帖子,然后对于每个帖子我检查用户和帖子之间的关系是否存在于 likes 集合中。所以我有一个过滤的对象数组。

但这花了我很多阅读量……而且看起来很乱。

有没有更有效的方法来做这样的事情?

标签: javascriptdatabasegoogle-cloud-firestore

解决方案


推荐阅读