Я пытаюсь обновить свой документ БД, добавив firstName
и lastName
, но когда я использую свою функцию, она фактически перезаписывает все.Так, например, мой объект теперь выглядит так
{
"_id" : ObjectId("5b0df225287cc77612ed89a5"),
"email" : "user@user.com",
"password" : "$2HbyP4.ts9O/zrjV5Pcd/Z28bhOb8oGas9wEG",
"userData" : [
{
"role" : "user",
"phone" : 747483245,
"_id" : ObjectId("5b0df225287cc77612ed89a6"),
"address" : [
{
"_id" : ObjectId("5b0df225287cc77612ed89a7")
}
]
}
],
"__v" : 0
}
, но когда я обновляю его, он выглядит так
{
"_id" : ObjectId("5b0df225287cc77612ed89a5"),
"email" : "user@user.com",
"password" : "$2HbyP4.ts9O/zrjV5Pcd/Z28bhOb8oGas9wEG",
"userData" : [
{
"firstName" : "First Name",
"lastName" : "Last Name",
"_id" : ObjectId("5b0df225287cc77612ed89a6"),
"address" : [
{
"_id" : ObjectId("5b0df225287cc77612ed89a7")
}
]
}
],
"__v" : 0
}
, поэтому у меня больше нет role
и phone
внутримоя функция
// Update user data
exports.update = function (req, res, next) {
User.findByIdAndUpdate(req.user._id, req.body)
.exec()
.then(doc => res.json(doc))
.catch(err => res.json(err))
}