这里auth是一个中间件,它生成jwt并授权用户,我有一个名为Contact的mongoose模型。然而,当我尝试执行contact.save()时,它会抛出一个异常,因为contact.save()不是一个函数。
router.post('/',auth,async (req,res)=>{
try
{
let contact = new Contact();
contact = {...req.body};
contact.userID=req.user.id;
const {error} = validateContact(contact);
console.log(`ERROR - ${error}`);
if(error){
return res.status(400).json({"status":1,"message":error.details[0].message});
}
const contact1 = await contact.save();
res.status(200).json({"status":0,"message":"contact addedd","contact":contact1});
}
catch(error){
console.log(`contacts - ${error.message}`);
}
});
字符串
3条答案
按热度按时间v7pvogib1#
.save()
在mongoose Model的一个示例上可用。通过运行contact = {...req.body};
,您将用一个新的普通JavaScript对象替换这样的示例,因此您将失去该功能。可以将
req.body
作为构造函数参数传递:字符串
nbnkbykc2#
当您说:
字符串
qlvxas9a3#
你需要像这样把参数传递给构造函数:
字符串