我有我的mogoose架構一些嵌套的屬性是這樣的:貓鼬更新嵌套值
const userSchemaValues = {
username: {
type: String,
required: [true, 'Username required'],
trim: true,
unique: true,
lowercase: true
},
password: {
type: String,
required: [true, 'Password required'],
trim: true,
minlength: 8
},
...
prop: {
prop_1: String,
prop_2: String
}
};
valuesToUpdate.prop = _.pick(req.body, 'prop_1', 'prop_2');
\t log.debug(JSON.stringify(valuesToUpdate));
\t User.update({_id: req.params.id}, {$set: valuesToUpdate})
\t \t .then((data) => {
\t \t \t return res.json({message: data});
\t \t })
\t \t .catch(err => {
\t \t \t log.error(err);
\t \t \t return next({message: 'Error updating User.'});
\t \t });
但是,當我在與用戶做User.update({_id: req.params.id}, {$set: valuesToUpdate})
prop_1和_2用這樣的對象設置({"prop":{"prop_1": "somevalue"}
),它不是l爲了支持什麼,它只是覆蓋它。我怎樣才能繞過這個?
你能在這裏寫完整的查詢嗎? – abdulbarik
我更新了我的問題。 –