8
我有以下的貓鼬模型:貓鼬findByIdAndUpdate移除所有尚未更新的屬性
var mongoose = require('mongoose');
var userSchema = mongoose.Schema({
facebook: {
name: String,
email: String,
customerId: String
}
});
var User = mongoose.model('User', userSchema);
當我使用findByIdAndUpdate
User.findByIdAndUpdate(id, {
$set: {
facebook: {
name: name
}
}
});
name
得到更新更新此文檔的一部分,而email
和customerId
遭到移除(未設置?)。
我沒有找到這個記錄。
有沒有辦法僅使用findByIdAndUpdate
更新特定的文檔屬性?
是的,謝謝。我只是在mongodb文檔中發現它。我必須使用$ set嗎? – krl 2014-10-19 09:33:59
當然是如果你不使用$ set,它會更新文檔,只更新刪除所有舊字段的對象。 – 2014-10-19 09:38:20
好吧,它沒有。我只是測試它沒有像這樣設置:User.findByIdAndUpdate(id,{'facebook.name':name}),它保留所有舊字段。 – krl 2014-10-19 09:41:02