mysql - sequelize trả về null cho cột 'id' trong dataValues của kết quả truy vấn
Tôi đang sử dụng sequelize kết hợp với ứng dụng Node.js TypeScript của mình và đang gặp vấn đề sau. Tôi đã tạo một lớp gọi là OrmMapper, chịu trách nhiệm tạo các bảng của tôi. Tôi đã tạo một bảng có tên "PCS" và khởi tạo nó với đoạn mã sau:
PCS.init({
id: {
primaryKey : true,
autoIncrement: true,
type: DataTypes.INTEGER
},
owner : DataTypes.INTEGER,
created: DataTypes.DATE,
year : DataTypes.STRING
}, {sequelize});
DDL được tạo ra là ổn và vấn đề xảy ra mỗi khi tôi chạy đoạn mã này:
handleGetByOwner(request: TrackerRequest, res:Response):void{
this.pcsModel.findAll({where:{owner: request.queryParams.ownerId}}).then((dataPackage:any)=>{
let PCSS = [];
console.log(dataPackage);
for(let pcs of dataPackage){
PCSS.push(pcs.dataValues);
}
res.status(200).send(new TrackerResponse({success: true, payload: PCSS, timeStamp: new Date()}));
});
}
điều này tạo ra SQL sau:
SELECT `id`, `owner`, `created`, `year`, `createdAt`, `updatedAt` FROM `PCs` AS `PCS` WHERE `PCS`.`owner` = '1';
Khi tôi xem trong cơ sở dữ liệu của mình, tất cả dữ liệu đã chèn đều chính xác, khi tôi thực thi câu lệnh SQL trên thì mọi thứ hoạt động. Tuy nhiên, khi tôi chạy mã máy chủ ở trên, kết quả của truy vấn của tôi là:
Tất cả các giá trị dữ liệu đều chính xác, ngoại trừ id là null.
