0
我一直工作在一個簡單的更新功能,看起來如下:貓鼬不保存文檔
exports.update = function update(req, res, next){
User.findById(req.param('userId'))
.exec(function (err, user) {
if(err) return next(err);
if(!user)
return res.sendData(null, 404, lang.userNotFound);
var info = req.param('info');
// Get the update to be made, in JSON format
if(info !== Object(info)) info = JSON.parse(info);
user.info = setProperties(user.info, info);
// console.log(user) gives the updated user object
user.save(function(err, usr) {
if (err) return next(err);
// console.log(usr) shows the updated user object
res.sendData();
});
});
};
function setProperties(object, update) {
if(update!== Object(update))
object = update;
else {
for (var prop in update) {
if (object.hasOwnProperty(prop))
object[prop] = setProperties(object[prop], update[prop]);
else
object[prop] = update[prop];
}
}
return object;
}
但不幸的是,雖然一切似乎工作,在我的數據庫沒有什麼變化。我沒有得到任何錯誤。任何人都可以揭示這個謎團嗎?謝謝!
以供參考(如果適用),這裏是我的架構:
var UserSchema = new Schema({
createdAt: {type: Date, default: Date.now},
lastActivity: {type: Date, default: Date.now},
info : {type : Schema.Types.Mixed},
});
請發佈更新代碼 – Vinz243 2014-08-27 11:18:34