2017-12-20 41 views
2

내 테이블 이름 : 시간업데이트 기록을 사용하여 sequelize (MySQL은) + nodejs

내 테이블 데이터 필드 :

시작 : 오전 10시 정지 : 지금은 를 업데이트 할

널 (null) null 현재 일자로

exports.updateGroup = function (req, res) { 
    Time.update(req.body, { 
     stop: new Date(), 
     where: { 
      id: req.body.id 
     } 
    }).then(data => { 
     return res.status(200).send(data); 
    }).catch(Sequelize.ValidationError, err => { 
     return res.status(422).send(err.errors[0].message); 
    }).catch(err => { 
     return res.status(400).send(err.message); 
    }); 
}; 

지금 그 sa를 보여주는 {mainId : ''중지 : '1, 시작'}를 기반으로 req.body.id 재산이 아니므로

my Time model : 

var Time = sequelize.define('time', { 
      start: Sequelize.DATE, 
      stop: Sequelize.DATE, 

    }); 
+0

무슨 상태를 반환합니까? 우리에게 당신의 sequelize TIME 모델과 req.body 키 값을 보여주십시오. – Korte

+0

내 시간 모델 : var 시간 = sequelize.define ('시간', { 시작 : Sequelize.DATE, 중지 : Sequelize.DATE, }); –

+0

업데이트 된 답변보기 –

답변

1

은 첫째, 당신은 잘못된 ID를 전달

내 req.body이 업데이트 후 내게는 널 (null) 게시 한 본문 형식.

두 번째로 update 메서드는 official sequelize documentation에서 참조 된 두 개의 인수를가집니다.

이 작동합니다 :

Time.update({ 
    start: req.body.start, 
    stop: req.body.stop 
}, { 
    where: { 
     id: req.body.mainId 
    } 
})