2017-07-05 3 views
0
User.update({_id: req.params.id}, userTemp).then(function(){ 
    User.findOne({_id: req.params.id}).then(function(user){ 
     res.send(user); 

    }); 
    }); 

Donc ce code est en cours d'exécution mais il ne change pas réellement la valeur dans la base de données. Je devrais remplacer l'utilisateur précédent par un nouveau mais ce n'est pas le cas.Pourquoi n'est-ce pas la mise à jour

Répondre

1

Comme vous pouvez le trouver dans la mise à jour de la documentation peut être utilisée sur le document lorsque vous avez déjà ce document: doc

Pour votre exemple, je préfère utiliser findByIdAndUpdate comme ceci:

User.findByIdAndUpdate(req.params.id, userTemp, function(err, user) { 
    res.send(user); 
}) 
+0

Cheers, votre méthode est beaucoup plus propre; mais il ne change toujours pas les données dans la base de données pour une raison quelconque. –

+1

Avez-vous un message dans le paramètre 'err'? –

+1

J'ai aussi remarqué que j'ai utilisé une mauvaise méthode dans l'exemple 'findOneAndUpdate'. Il devrait être 'findByIdAndUpdate'. J'ai fixé cela dans l'exemple –