gpt4 book ai didi

node.js - 如何使用 sequelize 从现有表中选择数据

转载 作者:搜寻专家 更新时间:2023-10-31 23:11:49 24 4
gpt4 key购买 nike

我已经在 postgresql 中有了表。我想使用 sequelize 从他们那里检索数据。我用了几种方法来做到这一点。但仍然无法将 db schma 映射到 node.js 中的 sequelize。

  const Test = Conn.define('test', {
race_id:
{
type: Sequelize.STRING,
allowNull: false
},
race_name:
{
type: Sequelize.STRING,
allowNull: false
}
});

Conn.sync();
export default Conn;

我在 node.js 中定义模式,并在 postgresql 中有一个具有相同模式的表。

但是当执行 Db.models.test.findAll({ where: args });

控制台会输出如下结果:

Executing (default): SELECT "id", "race_id", "race_name", "createdAt", "updatedAt" FROM "tests" AS "test";

我会得到另一个输出是

column \"id\" does not exist

我不明白为什么 sequelize 从测试表中检索数据并且它检索我没有的列。

如何使用 sequelize 从现有表中选择表?我需要使用 ORM 来满足需求,不能使用其他方式来获取数据。

最佳答案

你应该定义你的主键:

const Test = Conn.define('test', {
race_id:
{
type: Sequelize.STRING,
allowNull: false,
primaryKey: true
},
race_name:
{
type: Sequelize.STRING,
allowNull: false
}
});

这会将查询中的 id 替换为您的主键。

检查 working with legacy tables ,因为它可能会帮助您解决 future 的问题。

关于node.js - 如何使用 sequelize 从现有表中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37251369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com