[英]contact.save is not a function error while using [mongoose_model_object].save() method
這里 auth 是一個生成 jwt 和授權用戶的中間件,我有一個名為 Contact 的貓鼬模型。 但是,當我嘗試執行 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}`);
}
});
.save()
可用於 mongoose Model的實例。 通過運行contact = {...req.body};
你正在用一個新的普通 JavaScript 對象替換這樣的實例,所以你失去了那個功能。
您可以將req.body
作為構造函數參數傳遞:
let contact = new Contact(req.body);
當您說時,您正在替換模型 Contact 的值
let contact = new Contact();
//Here is the problem----
contact = {...req.body}; //<------------
//-----------------------
contact.userID=req.user.id;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.