mongoldb更新()将无法正常工作
首先我创build了mongoose模式:
var cardSchema = mongoose.Schema({ userId: String, imageUrl: String })
然后我定义了模型:
var Card = mongoose.model('Card', cardSchema)
然后我创build了一个新的卡:
var newCard = new Card({ userId: "bablaba" });
然后新卡被正确保存(我testing):
newCard.save(function(err,theCard){ if(err) return console.log(err); console.log("saved"); console.log(theCard); })
现在我需要更新卡中的信息。 我想添加/插入 imageUrl到保存的新卡。 以下是我尝试的几种方法:
1。
Card.where({ _id: _id }).update({ $set: {imageUrl:"blablab"} });
2。
Card.update(_id,{$set:{imageUrl:"balbalab"}})
3。
Card.update({_id: updateInfo._id}, {note0:updateInfo.note0, note1: updateInfo.note1},{multi:true}, function(err, numberAffected){});
这三个都没有工作! 请帮忙..
根据文件 ,
该操作只在callback通过时执行。 要强制执行而没有callback(这将是一个不安全的写),我们必须首先调用update(),然后使用exec()方法执行它。
您在第一种情况下缺lesscallback函数。
Card.where({ _id: "54a108be506225c82a56848b" }).update({ $set: {imageUrl:"blablab"} },function(e,n){ console.log(n); });
要么,
Card.update({_id: "54a108be506225c82a56848b"}, {"imageUrl":"Hello"}, {multi:true}, function(err, numberAffected){});