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。我接受这个建议。