我正在尝试使用Sequelize
更新多个行。但是,它会给我一个错误。
SequelizeValidationError","errors":
[{"message":"id cannot be an array or an object",
"type":"string violation",
"path":"id",
"value":["ord-307486d0-10cb-11ea-8174-9b8214c20c49","ord-ef0f0a80-10ca-11ea-8174-9b8214c20c49"],
"origin":"CORE",
"instance":{"id":["ord-307486d0-10cb-11ea-8174-9b8214c20c49","ord-ef0f0a80-10ca-11ea-8174-9b8214c20c49"],
"status":"PAID",
"updatedAt":"2019-11-28T03:47:38.057Z"},
"validatorKey":"not_a_string",
"validatorName":null,
"validatorArgs":[]}]},
"isUpdated":false
你能帮我弄清楚吗?我该怎么做呢?
这是我的代码:
updateOrder: (orderData, vendorId, callback) => {
models.Orders.update(orderData, {
where: {
id: orderData.id
}
})
.then((result) => {
if (result != '0') {
logger.log({
level: 'info',
message: {
user: vendorId,
request: {
orderData
},
response: {
updated: true
},
service: 'updateOrder',
date: date,
type: 'UPDATE'
}
});
callback({
statusCode: Constants.errorStatus.SUCCESS,
body: orderData,
isUpdated: true
});
} else {
logger.log({
level: 'warn',
message: {
user: vendorId,
request: {
orderData
},
response: {
updated: false,
details: 'Id isnt found'
},
service: 'updateOrder',
date: date,
type: 'UPDATE'
}
});
callback({
statusCode: Constants.errorStatus.NOT_FOUND,
body: 'Id is not matching',
isUpdated: false
});
}
}).catch((error) => {
logger.log({
level: 'error',
message: {
user: vendorId,
request: {
orderData
},
response: {
error
},
service: 'updateOrder',
date: date,
type: 'UPDATE'
}
});
callback({
statusCode: Constants.errorStatus.BAD_REQUEST,
body: error,
isUpdated: false
});
});
},
我的发送对象如下所示
orderData={id:purchaseData.orderId,status:'PAID'}
purchaseData.orderId={'ord001','ord002'}
发布于 2019-11-28 15:20:49
updateOrders: (orderData, vendorId ,callback) => {
const query='UPDATE Orders SET status="'+orderData.status+'" WHERE id IN ('+orderData.id+');';
sequelize.query(query,
{ type: sequelize.QueryTypes.UPDATE }
).then(result => {
if(result!='0'){
logger.log({level: 'info', message: {user:vendorId ,request : {query} , response: {updated:true} ,service:'updateOrder', date:date ,type:'UPDATE'}});
callback({statusCode: Constants.errorStatus.SUCCESS, body: orderData ,isUpdated:true});
}else{
logger.log({level: 'warn', message: {user:vendorId ,request : {query} , response: {updated:false ,details:'Id isnt found'} ,service:'updateOrder', date:date ,type:'UPDATE'}});
callback({statusCode: Constants.errorStatus.NOT_FOUND, body: 'Id is not matching' ,isUpdated:false});
}
}).catch((error) => {
logger.log({level: 'error', message: {user:vendorId ,request : {query} , response: {error} ,service:'updateOrder', date:date ,type:'UPDATE'}});
callback({statusCode: Constants.errorStatus.BAD_REQUEST, body: error ,isUpdated:false});
}
);
}
https://stackoverflow.com/questions/59081703
复制相似问题