我正在使用nodejs、sequelize和danmysql数据库(10.1.21-mariadb)构建一个api。当我尝试做一些修补(更新数据)时,它抛出Assert错误,但在post(插入数据)时效果很好。
这是我的补丁代码:
const express = require('express');
const router = express.Router();
const brandModel = sequelize.define('tbl_brand', {
brand_name: {
type: Sequelize.STRING,
allowNull: false
},
}, {
freezeTableName: true,
});
router.patch('/:id', (req, res, next) => {
const id = req.params.id;
const newModel = {
brand_name: req.body.brand_name
};
sequelize.authenticate().then(() => {
const promise = brandModel.update(newModel, {brand_id: id});
return promise.then(function(item){
res.status(201).json({
success: true,
result: item
});
});
})
.catch(err => {
res.status(500).json({
success: false,
result: err
});
});
});
我使用“ Postman ”并按如下方式访问它:
http://localhost:3000/brand/1
使用原始json:
{
"brand_name" : "Adidasssss"
}
结果如下:
{
"success": false,
"result": {
"generatedMessage": false,
"name": "AssertionError [ERR_ASSERTION]",
"code": "ERR_ASSERTION",
"expected": true,
"operator": "=="
}
}
有什么问题吗?
1条答案
按热度按时间x7yiwoj41#
没有关系。。。我很粗心,更新了一个名为brandmodel的空示例。应该先搜索它,然后再进行更新