我試圖更新我的集合中的所有文檔與我聲明在我的模型中的新字段。該字段爲布爾值,默認值爲false。更新貓鼬模型與新字段
我知道這個問題已經問過,但仍然無法解決我的問題。
所有我嘗試不工作。
這裏爲我的嘗試的例子:-cause我想更新的所有文件, 和空$集,因爲我不想做任何改變,只是增加我添加的字段具有空查詢 更新方法在我的模型
User.update({},{},{multi: true},function(err,num) {
if (err){
console.log(err);
}
console.log(num);
console.log("all documents were updated with new field)
})
闖闖:
User.find({},function (err,docs) {
async.each(docs,function (doc,cb) {
doc.save(function (err) {
console.log(err);
cb();
})
},function() {
console.log("all documents were saved with new field)
})
})
有什麼建議?
您應該明確地將該字段添加到更新$ set(使用其默認值),因爲Mongoose不知道數據庫中的哪些文檔可能已經或可能沒有該字段,因此它不知道哪些文檔它必須設置默認值(雖然從Mongo shell運行更新操作可能會更容易/更快) – robertklep