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){});