我遇到Mongoose的问题,其中findByIdAndUpdate
未在回调中返回正确的模型。
我想更新用户文档中的TIMELINE.Description
属性:
var refereeSchema = mongoose.Schema({
first_name: String,
last_name: String,
email: String,
phone: Number,
age: Number,
role: String,
note: Number,
favorite_teams: String,
hometown: String,
picture: String,
timeline:
{
id_Game1: String,
date_game: Date,
description: String
}
}) ;
// new timeline
router.put('/:id', function(req,res,next){
models.users.findByIdAndUpdate(req.params.id,{$set: {description : req.body.description}}, {new:true} , function(err,user){
if(err){
res.json({error :err}) ;
} else{
res.send(user) ;
}
});
});
答案 0 :(得分:1)
您错过了要更新的子文档密钥的timeline
部分。它应该是:
router.put('/:id', function(req,res,next){
models.users.findByIdAndUpdate(
req.params.id,
{$set: {'timeline.description': req.body.description}},
{new: true},
function(err,user){
if(err){
res.json({error :err}) ;
} else{
res.send(user) ;
}
});
});