今天来给大家讲讲数据的增加与删除。当点击分类修改的时采取的是get方式。使用let cate = req.query.category;let update = req.body.category;将要改变的分类存起来。判断修改的数据不能为空。如果为空渲染准备好的错误页面。然后从数据库中查询,查看有无相同名字的分类,如果相同就渲染已存在该分类的提示页面,并且不修改该分类。都正确的话就可以显示修改成功页面,并且在成功页面有返回分页列表的链接。】

分类删除和分类修改有异曲同工之妙。通过get方式获取需要修改的数据 let category = req.query.category;点击删除按钮会弹出删除分类的名称,提示你确定要继续删除吗。并且在输入框内默认有点击删除分类的这个名字,也可可以通过这个删除别的分类,前提是数据库中有该分类,并且不能输入空值。当输入错误的分类时会有系统弹出的错误页面。optionMessage:{ location:'分类首页',option:'分类删除',message:'当前分类不存在,不可删除'}。验证完就可以删除该分类了。

做完了分类管理接下来就是对于内容的基本操作。内容管理分为内容列表与内容添加。在内容列表里又有内容修改、删除2个按钮用于控制内容管理,增删改查。设置内容首页,在schema中设置新的数据库模型,数据库模型包括标题、概括、内容、关联字段、发表时间、阅读量、作者、评论等。关联字段是同一数据库中不同模型可以有关联行为,通过另一个库中的得到的信息可以使用另一个库中的数据。在使用关联数据时一定要加上类型和ref另一个库的名字。

定义好内容的格式现在就可以添加相关内容了,提交的方式使用post方式,大量的数据不适合用get在地址栏显示。对于前台传过来的数据要进行验证,看是否不合格,与数据库中的数据是否有相同的标题,对于一篇文章只能有一个唯一标题,不得重复。该文章描述不能为空,该文章内容不能为空。在获得传送过来的数据时要学会验证其中的可能出现问题,使用if判断每一个步是否合格,是否是规定的schema格式。当完成检验是就可以渲染出的成功页面“成功添加该文章”,成功页面又直接链接到内容列表。

内容列表通过查询数据库将获得数据一一展现在页面,需要使用ejs模板引擎。<% for(let i=0;i<results.length;i++){ %><% } %>将数据整齐的展现在页面中。在查询数据库时如果数据过大,在一个页面中要展现所有的数据显然是不现实的,就算页面可以持续下拉,但是这样做明显是不符合大众喜爱的简单轻便。所以需要和用户管理一致使用分页功能,实现每一页中展现自己想要的个数,这样就不会让人看着臃肿,在分页时要注意page和pageMax和 results,userInfo:req.userInfo这些传过去的使用方法。在分页时当的page为0的时候就说明到了第一页,不能再向前翻页了,给page值为1可以防止很多不必要的问题。

网友评论