标签:unshift find desc 截图 update nod exp 用户id har
1.定义experience
const profileFields = {};
profileFields.experience=[];
2.查找用户id
const profile = await Profile.find({ user: ctx.state.user.id });
3.判断用户的数据是否存在,
如果存在,就设计数据的结构,然后添进Profile 中,最后更新进去数据库里面
if(profile.length>0) { //设计experience 的结构数据 const newExp={ title: ctx.request.body.title, current: ctx.request.body.current, company: ctx.request.body.company, location: ctx.request.body.location, from: ctx.request.body.from, to: ctx.request.body.to, description: ctx.request.body.description } profileFields.experience.unshift(newExp); //console.log(profileFields); //在从前端添加数据后,我们更新数据到数据库 const profileUpdate = await Profile.findOneAndUpdate( { user:ctx.state.user.id }, { $set:profileFields }, { new:true } ); ctx.body=profileUpdate;
更新数据库
const profileUpdate = await Profile.findOneAndUpdate(
{
user:ctx.state.user.id
},
{
$set:profileFields
},
{
new:true
}
数据不存在
errors.noprofile = ‘没有该用户的信息‘;
ctx.status = 404;
ctx.body = errors
代码
/**
* @route post api/profile/experience
* @desc 工作经历接口
* @access 接口是私密的
*/
// localhost:4000/api/profile/experience
router.post(‘/experience‘, passport.authenticate(‘jwt‘, { session: false }), async ctx => {
//验证
const { errors, isValid } = validateExperienceInput(ctx.request.body);
//判断是否验证通过
if (!isValid) {
ctx.status = 400;
ctx.body = errors;
return;
}
const profileFields = {};
profileFields.experience=[];
//查找用户id是否存在
const profile = await Profile.find({ user: ctx.state.user.id });
//判断profile 的数据是否存在,存在就添加个人经历的数据
if(profile.length>0) {
//设计experience 的结构数据
const newExp={
title: ctx.request.body.title,
current: ctx.request.body.current,
company: ctx.request.body.company,
location: ctx.request.body.location,
from: ctx.request.body.from,
to: ctx.request.body.to,
description: ctx.request.body.description
}
profileFields.experience.unshift(newExp);
//console.log(profileFields);
//在从前端添加数据后,我们更新数据到数据库
const profileUpdate = await Profile.findOneAndUpdate(
{
user:ctx.state.user.id
},
{
$set:profileFields
},
{
new:true
}
);
ctx.body=profileUpdate;
}else {
errors.noprofile = ‘没有该用户的信息‘;
ctx.status = 404;
ctx.body = errors;
}
});
截图

标签:unshift find desc 截图 update nod exp 用户id har
原文地址:https://www.cnblogs.com/guangzhou11/p/10340188.html