2016-04-12 23 views
0

Mongoose ile findByIdAndUpdate geri aramada doğru modeli döndürmeyen bir sorunum var.FindByIdAndUpdate ile bir belge güncelleştirin

Bir kullanıcı belgeden TIMELINE.Description niteliğini güncellemek istiyorum: Sen güncellemek için alt belge anahtarının timeline kısmını eksik olduğunu

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

Gördüğüm bir sözdizimi hatası yok, hangi model geri geliyor? –

cevap

1

. Olması gereken:

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) ; 
      } 
     }); 
}); 
+0

Sanırım gerçek zaman çizelgesi olacağı için 'timeline.description' anlamına geliyor. –

+0

Oops, evet, bu daha iyi çalışırdı. :-) Teşekkürler. – JohnnyHK

İlgili konular