【发布时间】:2015-01-29 20:39:11
【问题描述】:
所以我尝试使用 Mongoose 更新 mongodb 数据库中的数据存储 原来的数据结构是这样的
{
"_id" : ObjectId("234u232kjrkjwebrkw"),
"local" : {
"password" : "sdflsdjflsdjlfkjsdlkfjklsdjflksd",
"email" : "email@email.com"
},
"__v" : 0
}
我正在尝试更新“本地”中的“用户名”属性。之后应该是
{
"_id" : ObjectId("234u232kjrkjwebrkw"),
"local" : {
"password" : "sdflsdjflsdjlfkjsdlkfjklsdjflksd",
"email" : "email@email.com",
"userName" : "yowhatsup"
},
"__v" : 0
}
我用过这个
User.findByIdAndUpdate("54a490ab6e13cca1d47870d6", {local:{ userName: 'jasonBorne' }}, { upsert: true }, function(){})
变成了这个
{
"_id" : ObjectId("234u232kjrkjwebrkw"),
"local" : {
"userName" : "yowhatsup"
},
"__v" : 0
}
它已被覆盖。 如何避免这种情况?
注意:在构建模型时,新的“用户名”被定义为 {type:String,default:null}。
【问题讨论】: