У меня есть база данных, такая как:
Мне нужно обновить свойство: leadType
определенного объекта на основе его _id
согласно запросу пользователя, скажем, с id: 5e8333cf4f19264d809b4e8c
.
Я использовал следующий запрос, но он в итоге возвращает мне пустой массив:
exports.change_lead_action = (req, res, next) => {
let lead_obj_id = req.body.leadObjId;
Lead.findOneAndUpdate(
{ _id: mongoose.Types.ObjectId(lead_obj_id) },
{ leads: { $elemMatch: { _id: req.body.leadId }}}, {leadType: req.body.leadType}, (err, lead) => {
console.log('updated', lead)
}
)
Я не уверен, где я ошибаюсь.
Я также пытался использовать запрос Lead.find()
. Хотя это вернуло мне требуемый результат, но я не смог найти способ обновить свойство из возвращенного результата:
{
"message": "data found",
"lead": [
{
"_id": "5e8333cf4f19264d809b4e8e",
"leads": [
{
"education": {
"school": "happy kids corner",
"graduation": "some school"
},
"currentPosition": {
"title": "Salesforce developer",
"description": "Full stack programmer",
"joiningDate": "16 december 2019",
"endDate": "currently working",
"employmentType": "full-time",
"industry": "information technology"
},
"location": {
"state": "delhi",
"country": "india"
},
"leadType": "all",
"name": "Ben",
"mobile": 1524524678,
"_id": "5e8333cf4f19264d809b4e8c"
}
]
}
]
}
Пожалуйста, помогите решить эту проблему.