请稍等 ...
×

采纳答案成功!

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

看到编辑图书这里的逻辑,我觉得上传排重逻辑是有问题的

图片描述
这个是排重那个函数,老师你写的逻辑是检测到数据库里同样的书存在,就会执行这个函数,book.reset()会把服务器上的文件删除,这个我开始能够理解,因为这是上传时候留下的,既然数据库里已经存在,就不需要了。
然后下面就是删除数据库中那本重复图书的操作,这里的逻辑我就不是很明白,上传的时候检测到重复图书为什么要把数据库里面的数据删除掉?
然后今天看到编辑图书这里改封面url这里的逻辑时我突然想起,我们封面的url是由nginx生成的链接,也就是服务器上的img下的文件链接,但是在上传的时候遇到重复就会删除所有文件,那么这本书的封面链接不就挂了吗?
图片描述
总的来说我觉得排重这里的逻辑我是不能理解的,我觉得排重逻辑只需要对用户提醒,这本图书已经存在,不需要做任何多余的操作。就是removeBook这里的逻辑我觉得是多余的。

正在回答

1回答

你好,感谢你的细心!await removeBook(book) 这行代码确实可以注释,这个逻辑是不必要的。

不注释,这行代码也不会产生影响,因为 removeBook 的查询条件是 fileName,而 fileName 是新上传电子书时动态生成的唯一键,所以即使不注释这行代码,也不会产生副作用。不过我还是接受你的观点,注释掉,因为代码中最好不要保留无用的逻辑,数据库查询还是会消耗性能的^_^

2 回复 有任何疑惑可以回复我~
  • 提问者 godlanbo #1
    非常感谢老师,我自己又看了很多遍这里的逻辑,发现只有删除数据库里的数据那个操作是多余的,前面的操作是正确的。是我不够缜密
    回复 有任何疑惑可以回复我~ 2020-01-10 15:14:51
  • Kunen 回复 提问者 godlanbo #2
    同学的IDE配色看着很是舒服。想问一下,同样是 Sublime Text,为什么我的 ${book.fileName} 全是白色呢?是用了什么插件吗?
    我是 window 平台。
    回复 有任何疑惑可以回复我~ 2020-07-28 17:44:45
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信