【发布时间】:2021-05-27 21:41:49
【问题描述】:
我正在 MERN 堆栈中开发一个 webapp,在这样做时遇到了错误,请帮助。当我尝试更新用户时,它给了我一个错误,回调必须是一个函数,得到'[object Object]'。
这是 API。
保证用户始终存在。
module.exports.addBlog=(req,res)=>{
const {title,data} = req.body.blog;
console.log(title,data);
const {email} = req.body;
const newblog ={
title,
data
}
userSchema.findOneAndUpdate(
{email},
{$push:{blogArray:newblog}},
{upsert:true},
{useFindAndModify:false}
)
.then(res=>console.log(res))
.catch(err=>console.log(err));
return res.json({msg:"Blog added successfully"});
}
这是用户模式。
const userSchema = new mongoose.Schema({
firstname:{
type:String,
required:true,
lowercase:true
},
lastname:{
type:String,
required:true,
lowercase:true
},
email:{
type:String,
required:true,
lowercase:true
},
password:{
type:String,
required:true
},
blogArray:[
{
title:{
type:String,
required:true
},
data:{
type:String,
required:true
}
}
]
});
【问题讨论】:
-
您将四个单独的对象传递给 findOneAndUpdate,我认为这不是您想要的。