【发布时间】:2019-12-11 20:22:10
【问题描述】:
我在我的 firestore 数据库中有一个 cmets 部分的设计,我只是在努力处理其中的一部分。我试图在读/写次数方面提高效率以节省成本。
计划是为我们正在评论的项目创建一个包含单个文档的集合。在里面我将有一个文档的子集合(每个文档都是一个包含 50 cmets 的数组的块)。当前块将编号存储在父文档中,与子集合处于同一级别。
+Doc1
-Block num : 1
-Subcollection
+ 0 : Array of 50 comments
+ 1 : Array of 50 comments
etc
所以我希望每个评论都具有某些属性,例如一个 id、评论文本、用户名和 2 个喜欢/不喜欢它的用户数组。
这样我可以按最近的评论排序(因为我只是向后阅读块。)
我的问题是我想按最喜欢或最不喜欢的 cmets 排序...因为现在每个块都可能有大量喜欢的 cmets。
有没有一种方法来构建这个,无论是通过制作一个新集合还是调整这个集合,这样我就不必阅读每个块来按喜欢的数量排序?
另外,如果有人知道我的设计有任何缺陷,请不要犹豫,提出改进建议。
提前感谢您的帮助:)
---编辑
抱歉各位,我忘了提到我想避免将每条评论都写成文档,因为这在阅读大量内容时会花费很多钱。
【问题讨论】:
标签: node.js firebase google-cloud-firestore