const removeId = profile.experience
.map(item => item.id)
.indexOf(req.params.exp_id)
// 删除该经历
profile.experience.splice(removeId, 1);
// 保存修改
profile.save()
.then(profile => {
res.json(profile)
})
.catch(err => res.status(404).json(err))
})
})
postman测试:
原本数据库里test3账号的profile信息是这样的:
我们删除第0条数据,记得带上对应账号的未过期的token:
可以看到,刚刚那条经历已经被删除了,数据库里只剩下一条经历:
功能描述:删除当前用户的所有信息
-
使用findOneAndRemove函数,通过req.user.id寻找当前用户信息;
-
删除当前用户的profile数据
-
删除当前用户的user数据
在路由文件profile.js中:
//$route DELETE api/profile
//@desc 删除整个用户接口
//@access private
router.delete(“/”, passport.authenticate(“jwt”, { session: false }), (req, res) => {
// 寻找该用户的profile数据并删除
Profile.findOneAndRemove({ user: req.user.id })
.then(() => {
// 删除该用户的user信息
User.findOneAndRemove({ _id: req.user.id })
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
TCP协议
- TCP 和 UDP 的区别?
- TCP 三次握手的过程?
- 为什么是三次而不是两次、四次?
- 三次握手过程中可以携带数据么?
- 说说 TCP 四次挥手的过程
- 为什么是四次挥手而不是三次?
- 半连接队列和 SYN Flood 攻击的关系
- 如何应对 SYN Flood 攻击?
- 介绍一下 TCP 报文头部的字段
- TCP 快速打开的原理(TFO)
- 说说TCP报文中时间戳的作用?
- TCP 的超时重传时间是如何计算的?
- TCP 的流量控制
- TCP 的拥塞控制
- 说说 Nagle 算法和延迟确认?
- 如何理解 TCP 的 keep-alive?
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
浏览器篇
- 浏览器缓存?
- 说一说浏览器的本地存储?各自优劣如何?
- 说一说从输入URL到页面呈现发生了什么?
- 谈谈你对重绘和回流的理解
- XSS攻击
- CSRF攻击
- HTTPS为什么让数据传输更安全?
- 实现事件的防抖和节流?
- 实现图片懒加载?
浏览器篇
- 浏览器缓存?
- 说一说浏览器的本地存储?各自优劣如何?
- 说一说从输入URL到页面呈现发生了什么?
- 谈谈你对重绘和回流的理解
- XSS攻击
- CSRF攻击
- HTTPS为什么让数据传输更安全?
- 实现事件的防抖和节流?
- 实现图片懒加载?