java - 评论系统怎么设计比较好?
怪我咯
怪我咯 2017-04-17 17:41:26
[Java讨论组]

带这种@功能的评论

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
大家讲道理

第一种方式:
评论表

id user_id comment
1 2 zhis is a comment

回复表

id user_id comment_id reply
1 2 1 zhis is a reply

先遍历评论

select * from comment left join user on comment.user_id = user.id.

再遍历回复

select * from reply where comment_id left join user on user.id = reply.user_id where reply.comment_id = comment.id

合并后以时间排序

方法二:
增加一个回复给谁的字段

id user_id reply_comment_id comment
1 2 20 zhis is a reply

如果reply_comment_id是NULL的话;没有@,是数值的话,取出那条评论的用户,增加@

大家讲道理

我觉的这个设计可以用mongodb,每条记录如果存在回复则保存该被回复记录的_id。
查询的时候将数据populate出来,这里的难点主要是回复的嵌套,可以考虑用deep-populate的插件,比如:
https://github.com/buunguyen/mongoose-deep-populate

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号