我应该使用哪种嵌套数据结构用于父母的帖子?

时间:2014-12-09 17:45:08

标签: postgresql

我的表格Posts包含字段idauthor_idmessageparent_idparent_id可以是相应父帖的nullid

我还有表Votes,其中包含字段iditem_id(引用Posts.id的外键)。

我应该在此示例中使用哪种方法来存储分层数据?

我想从服务器返回类似于此的响应:

[{
    user: {/* author-data */},
    text: 'some string',
    parent_id: null,
    comments: [/* list of comments, each including it's own list of votes*/],
    votes: [/* list of votes*/]
}]

数据几乎不会更新,经常插入和重读。

1 个答案:

答案 0 :(得分:3)

使用parent_idid的外键,以“正常”方式存储。

之后使用递归查询查询它:http://www.postgresql.org/docs/9.3/static/queries-with.html

如果您遇到性能问题,可以添加一个简单的缓存层。