【发布时间】:2022-02-14 23:34:32
【问题描述】:
我在 node.js 中使用 MySQL 的 sequelize,我想获得与从 (SELECT * from table1, table2 where table1.id = table2.id) 中获得的相同数据
--table1.js--
const Table1= sequelize.define("table1", {id: {type: DataTypes.INTEGER,}, data: {type:DataTypes.STRING(255)});
--table2.js--
const Table2 = sequelize.define("table2", {id: {type: DataTypes.INTEGER,}, storage: {type:DataTypes.STRING(255)});
我尝试使用这样的命令Table1.belongsTo(Table2)并通过
const data = await Table1.findAll({
attributes: [
["data", "data_src"],
],
include: [
{
model: Table2,
on: {
storage: sequelize.where(
sequelize.col("Table1.id"),
"=",
sequelize.col("Table2.id")
),
},
attributes: [["storage", "storage_src"]],
},
],
});
但它失败了。 如何获取格式如下的数据
[
{
data: 'some data1',
storage: 'some storage1',
},
{
data: 'some data2',
storage: 'some storage2',
},
]
最好的问候
【问题讨论】:
-
table1 和 table2 是否按 1:1 连接?
-
是的,就是这样。
标签: node.js express sequelize.js