我正在使用Couchbase编写类似Reddit的评论存储。对于每个评论,我将存储其parentId
和其childrenIds
的列表。网页上的每个顶级评论都将其parentId
设为null
。
我想有效地检索注释块。注释框是指顶级注释及其所有子注释。因此,第一步可以是编写一个map
函数,该函数发出所有顶级注释中的ids
。
一旦有了根,我该如何获取整个树。一种非常幼稚的方法是找到子代,然后递归查询它们。但这违反了不为该项目使用关系数据库的目的(因为我正在处理高度嵌套的数据,而关系数据库在存储它们方面很糟糕)。
有人可以指导我吗?
答案 0 :(得分:1)
好的,因此每个顶级注释在其下方都有一个子注释树。我认为在大多数情况下,您可以放心地将整个子评论树放入顶级评论的文档中。文档大小的默认限制为20 MB,这对于文本来说实在太多了。
然后的问题是如何处理激发很多子注释的注释。我建议您在这种情况下开始将子注释树的一部分溢出到其他文档中,因此严格来说,可以有一棵子注释树,尽管通常只需要一个文档即可。进行设计,以便仅根据需要获取这些辅助文档,而不必完全获取整个子注释树。