Vous devez ajouter un rappel à la méthode de mise à jour ou appeler #exec()
pour effectuer la mise à jour:
var newUrl = new Url({
"description": "test"
});
newUrl.save(function (err, doc) {
if (err) console.log(err);
else{
Url.update({_id: doc._id},{description: "a"}, function (err, numAffected) {
// numAffected should be 1
});
// --OR--
Url.update({_id: doc._id},{description: "a"}).exec();
}
});
Juste Pour votre information: je reste personnellement loin de update
parce qu'il contourne par défaut, setters, middleware, validation , etc, qui est la principale raison d'utiliser un ODM comme Mangoose de toute façon. Je n'utilise que update
pour traiter des données privées (aucune entrée utilisateur) et des valeurs d'incrémentation automatique. Je réécrire comme ceci:
var newUrl = new URL({
"description": "test"
});
newUrl.save(function(err, doc, numAffected) {
if (err) console.log(err);
else {
doc.set('description', 'a');
doc.save();
}
});
double possible de [mise à jour Mongoose sans rappel] (http://stackoverflow.com/questions/14613890/mongoose-update-without-callback) –
Cela a bien fonctionné quand je l'ai essayé . – JohnnyHK
@jibsales, votre modification a corrigé le code, rendant la question sans signification. =) –