update メソッドにコールバックを追加するか、#exec()
更新を実行するために呼び出しを行う必要があります。
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();
}
});
参考までに:update
とにかくmongooseのようなODMを使用する主な理由であるデフォルト、セッター、ミドルウェア、検証などをバイパスするため、私は個人的に近づきません。update
プライベート データ (ユーザー入力なし) と自動インクリメント値を扱う場合にのみ使用します。私は次のように書き直します:
var newUrl = new URL({
"description": "test"
});
newUrl.save(function(err, doc, numAffected) {
if (err) console.log(err);
else {
doc.set('description', 'a');
doc.save();
}
});