请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

图书已存在时候的逻辑问题

为什么这里上传图书的时候,如果图书已存在,要把数据库里的已存在图书删除啊?这是个什么逻辑?

正在回答 回答被采纳积分+3

2回答

Sam 2020-01-02 23:23:39

你好,你指的应该是点击新增图书时触发的排重逻辑吧?下面详细说一下上传和新增电子书的流程:

第一步,上传电子书,此时会将电子书文件上传到服务端指定目录下,我们在服务端将该目录设为 nginx 服务器,上传完毕后会触发解析电子书逻辑,解析出电子书的标题、作者、出版社和目录等信息,并直接返回前端,注意,此时电子书的数据并没有保存至数据库中,所以不存在排重逻辑

第二步,新增电子书,点击新增电子书时,会将电子书的信息发送到后端,请求保存操作,此时会触发一个排重逻辑,该逻辑会判断我们上传的电子书是否已经存在,判断标准是:标题+作者+出版社是否已经存在,如果这三者和另一本书完全一样,那么我们就判定这两本书是同一本书,此时,会将之前已经上传的电子书给删除,但是注意,并不会把数据库中重复的数据删除,我们删除的仅仅是新上传的那一本电子书,删除完,会清空前端的表单数据。

结论:电子书排重逻辑只会在服务端 nginx 服务器中删除新上传电子书的 .epub 文件,不会进行增删数据库

1 回复 有任何疑惑可以回复我~
  • 提问者 godlanbo #1
    removeBook函数里不是有删除数据库里电子书的操作?
    回复 有任何疑惑可以回复我~ 2020-01-04 19:21:25
小俊001 2020-01-01 11:02:51

同学您好,视频中删除的图书静态服务器上的临时数据,这样的流程可以清理静态服务器上的垃圾数据。

教程中在上传到数据库之前会产生一个副本文件,我们操作中删除的就是这个副本文件不是原有的数据。

您看看是否可以理解?

0 回复 有任何疑惑可以回复我~
  • 提问者 godlanbo #1
    删除服务器上的副本当然可以,你看看我的问题,为什么要把mysql里的也删了?
    回复 有任何疑惑可以回复我~ 2020-01-02 21:55:37
  • 慕先生5461412 回复 提问者 godlanbo #2
    这些助教基本上都是回答的驴唇不对马嘴
    回复 有任何疑惑可以回复我~ 2021-11-19 15:16:54
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信