我想通過一個文檔遍歷我的更新功能時迭代通過MongoDB的條目的JavaScript節點
User.prototype.update = function(user, done){
this.model.findOne({_id:user._id}, function(err, doc){
console.log(doc);
for(var i in doc){
if(user[i] != undefined && user[i] != doc[i]){
console.log('this value', i, user[i], user[i] === doc[i], doc[i]);
doc[i] = user[i];
}
}
console.log(doc[i]);
//doc.save(done);
});
}
但是這樣捕獲所有,該模型已添加到對象如_save,_done,_events功能,以及許多其他我不關心檢查的領域。
我也嘗試添加一個if(user.hasOwnProperty(i)),但不起作用。
UPDATE:這工作很漂亮,如果有人看到一個更好的方式去了解它讓我知道
User.prototype.update = function(user, done){
this.model.findOne({_id:user._id}, function(err, doc){
for(var i in doc._doc){
if(user[i] && user[i] != doc[i])
doc[i] = user[i]
}
doc.save(done);
});
}
是的,我使用貓鼬 – Snymax 2014-12-05 16:49:37
我認爲更好的使用toObject – 2014-12-05 19:00:48
你是非常好的先生謝謝你的指出。當我閱讀關於它的文檔時,我完全誤解了它,儘管它設置了保存對象的方法。謝謝你指出。 – Snymax 2014-12-06 00:27:42