获取firestore

时间:2018-02-16 05:47:10

标签: database database-design google-cloud-firestore

这个问题与查询firestore和实现类似系统的最佳方法有关,并且计算 firestore 中每个帖子的不喜欢。

让我们说我们有一个名为posts,likes,comments,hashtags的集合。其中有json结构。

posts:[{                   likes [{                      
  postId:id                postId:,                       
  createdAt:date           userId,                       
  title:string,            collectionType:'posts', 
  description,string       likedAt:date
  updatedAt,date          }]    
  createdUser:userId
  updatedUser:userId,    
}]

comments:[{              hashtags [{}]
  postId,
  userComments:[{
    userId:,
    comment:'',
    commentedAt:''      
    replies:[{}]
 }]
  1. 使用用户评论实现类似系统的最佳方法是什么 以及每个评论的嵌套回复,其中有所改进 当我们拥有数百万用户和帖子时,效率和性能。

  2. 查询所有喜欢点评的帖子,以及是否登录用户 喜欢每个帖子以及评论和评论计数,获取每个回复 评论(如果有)。

  3. 我的方法是否适用于firestore?或任何最佳数据建模 设计也是可能的。

  4. 我们是否需要将哈希标签存储在同一集合的单独集合中 即使用hashtags数组创建post,内部post对象。

  5. 我是firestore的新手,我想学习在firestore中查询数据。 根据我对mongodb的了解,我想在火炉店探索。请帮我处理我的问题。任何建议或指导都非常感谢。

    谢谢

1 个答案:

答案 0 :(得分:5)

  1. 我建议你创建一个名为posts的{​​{1}}子集,并在帖子文档中放置每个帖子的评论。您可以对评论的评论做同样的事情。您可以创建comments子集合的子集合,也称为comments。当可以在所有子集合中查询注释时,您将能够轻松地在单个查询中获取所有这些数据。

  2. 在您的comments集合文档中,我会更改likes字段,并将其替换为userIdcreatedUserId。然后,您可以查询特定用户的帖子或用户喜欢的所有喜欢。

  3. 这完全适合Cloud Firestore

  4. 您应该拥有一组主题标签。您还需要在map of values中存储帖子中使用的主题标签以允许查询。