node+sequelize实现楼中楼思路

引言

不知道为啥sequelize没火起来,有一次在慕课网上看到一个关于讲sequelize的视频,感觉用起来肥肠的方便啊,可是项目中遇到好多问题,网上可参考的文档太少了,中间遇到非常多的坑,不过总算做出来了,下面这个项目是一个简易的类似微博评论功能(没有实现分页功能),不过还有些细节需要优化,下面先上图
主页面
node+sequelize实现楼中楼思路_第1张图片

情景就是以上情景,那么我们直接进入正题,先看一看数据库表之间的关系,我在数据库中建立了三张表,分别是问题表Questions,评论回复的人员表Consumers,评论回复表Comment,那么我们一一介绍一下各个表并且看一下里面的字段
问题表
node+sequelize实现楼中楼思路_第2张图片

数据库的初始化

1.创建一个数据库(这里我们创建了一个todo_development)
node+sequelize实现楼中楼思路_第3张图片

定义表关系

上面的表我们也看到了创建评论表(Comments)的时候多创建一个QuestionId用来关联对应的问题的,在models中添加以下代码(图一)用来连接Questions表,而问题表也需要和评论表进行包含关系,这里一个问题可以包含多个评论所以我们使用hasMany(图二)
图一
node+sequelize实现楼中楼思路_第4张图片

而提问的人只能有一个所以问题表只关联一个用户使用hasOne(图一),评论的人也是只有相对的用户进行评论所以也使用hasOne
图一
node+sequelize实现楼中楼思路_第5张图片

图二
node+sequelize实现楼中楼思路_第6张图片

评论回复人员表中只需要连接评论表和问题表即可
node+sequelize实现楼中楼思路_第7张图片

这样我们三张表中的关系就定义完成了

你可能感兴趣的:(sequelize,node.js)