0
개체를 찾아 값을 2 개로 밀어 넣은 다음 원래 값을 업데이트하여 값을 업데이트하려고합니다. 객체를 찾고 값을 배열에 푸시 할 수 있습니다. 그러나, 업데이트 기능은 따라서 데이터베이스의 값을 업데이트 할 수 없습니다, 변경 사항을 감지하지 못할 것 같다 :몽구스 업데이트 배열 함수가 작동하지 않습니다.
Skills.findOne({ skillsCat: req.body.skillsCat }, (err, skills)=> {
if (err) {
res.send(err)
return
}
if (skills) {
skills.skillName.push(req.body.skillName)
skills.percent.push(req.body.percent)
skills.markModified('skillName')
skills.markModified('percent')
return skills
}
})
.then(skills=> {
Skills.update({ _id: req.body._id }, { $set: skills }, (err, updated)=> {
if (err) {
res.send(err)
return
}
res.json({
message: 'Skill info updated successfully',
'database response': updated
})
})
})
: 여기
{
"ok": 1,
"nModified": 0,
"n": 0,
"lastOp": "0",
"electionId": "576dec4e2c52240b7a5bca5e"
}
는 값을 업데이트하려고 내 기능입니다
두 번째 if 문 안에 update 함수를 넣으려고 시도했지만 동일한 결과를 얻습니다.
누가 잘못되었는지 알고 있으며 어떻게 해결할 수 있습니까? 감사!
실제로 나중에 알아 냈습니다. Skills.update (...)를 반환하는 대신 skill.save()를 반환했습니다. 그리고 효과가있었습니다. – thousight