2016-08-03 5 views
2

Обновляя документы Movie, получите значение из коллекции пользователей и сохраните его с обновлением документов в Movie.Как получить значение из одной схемы и обновить в другом случае с помощью middlewares в mongoose

Movie.pre('update', function (next) { 
    var id = this._update.$set.userid; 
    var some = this; 
    User.findOne({userid: id}, function(err, post) { 
     // how should we add the firstname to current movie document and 
     let update query update it all. Something like this... 
     some.firstname = post.firstname; 
     next(); 
    }); 
}); 

// update query 
Movie.statics.saveMovieDetails = function(requestData, callback) { 
this.update({userid:requestData.userid}, 
    { $set:{ 
      userid : requestData.userid, 
      name  : requestData.name, 
      location : requestData.location, 
      language : requestData.language, 
      date  : requestData.date 
     } 
    },{upsert:true}, callback); 
}; 

ответ

0

Вот как я это сделал. Исправьте меня, если я ошибаюсь, или если есть лучший способ решить эту проблему.

Movie.pre('update', function (next) { 
    var id = this._update.$set.userid; 
    var some = this; 
    User.findOne({userid: id}, function(err, post) { 
     some._update.$set.firstname = post.firstname; 
     next(); 
    }); 
});