sequelize.js - 如何使用存储在变量中的值进行 RAW 查询

标签 sequelize.js

我正在为 Postresql 11 在 Nodejs 上为 sequelize (6.5.x) 编写 RAW SQL。这是原始查询的示例:

const { QueryTypes } = require('sequelize');
let sql = "SELECT * from messages WHERE sender_id = 1";
const msgs = await sequelize.query(sql, { type: QueryTypes.SELECT });
如果 sender_id 存储在变量 senderID 中,如何在上面的原始查询中使用变量 senderID

最佳答案

你可以这样做

const { QueryTypes } = require("sequelize");
let sql = "SELECT * from messages WHERE sender_id = ?";
const msgs = await sequelize.query(sql, {
  replacements: [senderID],
  type: QueryTypes.SELECT,
});
或者
const { QueryTypes } = require("sequelize");
let sql = "SELECT * from messages WHERE sender_id = :senderID";
const msgs = await sequelize.query(sql, {
  replacements: { senderID },
  type: QueryTypes.SELECT,
});
您可以在文档的 Replacement 部分找到更多详细信息

关于sequelize.js - 如何使用存储在变量中的值进行 RAW 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67188121/

相关文章:

node.js - 在 Sequelize 中分配外键的默认值后自动同步出错

mysql - 序列混合错误

mysql - 如何修复sequelize 连接错误?

javascript - Sequelize - 按降序获取值

sql - Sequelize.js postgres 横向使用

mysql - 引导 Sequelize 模式的 "correct"方法是什么?

node.js - 在 sequelize 和 pg 之间共享一个数据库连接池

mysql - 如何在 node.js 中使用 sequelize 从旧数据库重新创建数据库

mysql - 无法使用 sequelize ORM 在 mysql 中创建 View

javascript - Sequelize - 将模型映射到字段