node.js - 如何在不定义 Sequelize 模型的情况下使用 postgres 操作表

标签 node.js postgresql sequelize.js

我直接在 postgres shell 中创建了一个“用户”表,我所需要的只是操作(CRUD)数据,而不必创建这样的模型:

const User = sequelize.define('user', {
  firstName: {
    type: Sequelize.STRING,
  },
  lastName: {
    type: Sequelize.STRING,
  },
});
我在文档中搜索了很多,但到目前为止我所看到的,我必须创建一个模型。
有没有一种方法可以在不创建模型的情况下工作?

最佳答案

您可以使用 Raw queries 来操作数据,而无需创建模型。
例如:
我们在数据库中有 User 表:

node-sequelize-examples=# select * from "User";
 UserId |          UserEmail           |                             UserAvatar                              
--------+------------------------------+---------------------------------------------------------------------
      1 | Korey31@hotmail.com          | https://s3.amazonaws.com/uifaces/faces/twitter/markretzloff/128.jpg
      2 | Tevin_Wintheiser81@yahoo.com | https://s3.amazonaws.com/uifaces/faces/twitter/faisalabid/128.jpg
      3 | Cody47@yahoo.com             | https://s3.amazonaws.com/uifaces/faces/twitter/sur4dye/128.jpg
(3 rows)
使用原始查询获取所有用户:
import { sequelize } from '../../db';
import { QueryTypes } from 'sequelize';

sequelize.query('select * from "User"', { type: QueryTypes.SELECT }).then(console.log);
日志:
Executing (default): select * from "User"
[ { UserId: 1,
    UserEmail: 'Korey31@hotmail.com',
    UserAvatar:
     'https://s3.amazonaws.com/uifaces/faces/twitter/markretzloff/128.jpg' },
  { UserId: 2,
    UserEmail: 'Tevin_Wintheiser81@yahoo.com',
    UserAvatar:
     'https://s3.amazonaws.com/uifaces/faces/twitter/faisalabid/128.jpg' },
  { UserId: 3,
    UserEmail: 'Cody47@yahoo.com',
    UserAvatar:
     'https://s3.amazonaws.com/uifaces/faces/twitter/sur4dye/128.jpg' } ]

关于node.js - 如何在不定义 Sequelize 模型的情况下使用 postgres 操作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64157053/

相关文章:

javascript - 多部分 HTTP 响应

sql - 如何在选择时根据它们的值将一列分成多列?

postgresql - 基于 JSON 中的字符串数组聚合结果?

database - node.js sequelize 在迁移时没有主键

javascript - NodeJS 和 mongo : insertMany changing value from data in the callback function

node.js - 安装 yomen 时疑难解答。谁能帮我解决这个问题..!

Node.js 基准测试不顺利

python - 使用请求库的脚本在尝试从 Postgres 表提供 url 时抛出 "no connection adapters found"错误

node.js - Sequelize - 尝试使用 'include' 获取相关对象的belongsToMany 关系

sql-server - 按字段组合序列化过滤器