2017-12-20 16 views
2

私のテーブル名:TIME更新レコード使用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); 
    }); 
}; 

更新

マイreq.body後のヌルとして私:{mainId:1、開始: ''、停止: ''}ベースreq.body.idプロパティが存在しないので

my Time model : 

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

    }); 
+0

、それはどのような状態を返していますか?続編TIMEモデルとあなたのreq.bodyキー値を教えてください。 – Korte

+0

my timeモデル:var Time = sequelize.define( 'time'、{ start:Sequelize.DATE、 stop:Sequelize.DATE、 }); –

+0

私の更新された回答を見る –

答えて

1

は、まず、あなたが間違ったIDを渡しますあなたが掲示したボディフォーマットで。

official sequelize documentationで参照されるように第二に、update方法は、2つの引数を取得します。

これは動作するはずです:

Time.update({ 
    start: req.body.start, 
    stop: req.body.stop 
}, { 
    where: { 
     id: req.body.mainId 
    } 
}) 
関連する問題