Javascript 您将如何在firebase firestore中构建包含报告的论坛线程?

Javascript 您将如何在firebase firestore中构建包含报告的论坛线程?,javascript,firebase,google-cloud-firestore,nosql,Javascript,Firebase,Google Cloud Firestore,Nosql,我正在开发一个应用程序的论坛功能,并且已经制作了一个工作结构,看起来是这样的: 所以基本上我有一个threads集合,每个线程中都有一个comments集合 现在我希望用户能够报告线程或注释。我想到了两种方法: 为报告创建一个新集合,每个报告将包含一个线程ID、用户ID、文本和注释ID(如果报告的项目是注释) 每个线程将有一个报告集合,每个注释将有一个报告集合(我认为这个集合太嵌套了) 还有别的办法吗?您将如何浏览此场景?考虑到这些评论,最好的方法是首先集中于定义查询和如何检索数据。由于NoS

我正在开发一个应用程序的论坛功能,并且已经制作了一个工作结构,看起来是这样的:

所以基本上我有一个
threads
集合,每个线程中都有一个
comments
集合

现在我希望用户能够报告
线程
注释
。我想到了两种方法:

  • 报告
    创建一个新集合,每个
    报告
    将包含一个
    线程ID
    用户ID
    文本
    注释ID
    (如果报告的项目是
    注释
  • 每个线程将有一个
    报告
    集合,每个
    注释
    将有一个
    报告
    集合(我认为这个集合太嵌套了)

  • 还有别的办法吗?您将如何浏览此场景?

    考虑到这些评论,最好的方法是首先集中于定义查询和如何检索数据。由于NoSQL数据库不使用与普通SQL相同的查询方式,如果您在设计方案时没有首先关注返回方式,则可能会导致以后的返工


    总而言之,首先关注查询,然后关注设计,这可能是最好的主意。感谢@DougStevenson在评论中提供的帮助。

    我将首先关注定义需要执行的查询,然后围绕这些需求构建数据。考虑到nosql数据库不能有效地“连接”集合之间的数据,您可以很容易地设计一些以后需要更改的内容。谢谢@DougStevenson。我接受这个建议。