如何使用 TypeORM 为 postgres 数据库和 nodejs 使用参数化查询作为应用程序的后端服务器

Posted

技术标签:

【中文标题】如何使用 TypeORM 为 postgres 数据库和 nodejs 使用参数化查询作为应用程序的后端服务器【英文标题】:How to use Parameterized query using TypeORM for postgres database and nodejs as the application's back-end server 【发布时间】:2019-07-08 03:45:41 【问题描述】:

我想从名称 = SUPREME INT'L 的 postgres 表中获取行, 注意:此字符串在名称字符之间有一个单引号。 我使用 TypeORM 作为 ORM,使用 POSTGRESQL 作为数据库。

我的查询:

 import  getConnection  from 'typeorm';
 const connection =  getConnection();

 var query = `SELECT * from skusimulations where "name"= ? `;
 const output =await connection.query(query, ['SUPREME INT'L']) 

执行此操作时出现错误,我想通过使用存储过程来转义单引号。

任何帮助将不胜感激。

【问题讨论】:

什么错误?您是指未能在文字中转义单引号,因为查询本身看起来已经在使用参数转义。 @RichardHuxton,是的,我确实使用存储过程来转义单引号。顺便说一句,我通过将“名称”存储在一个变量中并将该变量传递到替换数组中来解决它,另一个修改不是“?”将其更改为 1 美元。 【参考方案1】:

已解决: 感谢您抽出宝贵时间回答我的问题,我真的很感激。 我通过参考 typeorm.io 文档更改了一些内容。 最后的改动:-

  var name = "SUPREME INT'L" ;
  var query = `SELECT * from skusimulations where "skuId"= $1 `;
  var skuData =await connection.query(query, [name])

【讨论】:

以上是关于如何使用 TypeORM 为 postgres 数据库和 nodejs 使用参数化查询作为应用程序的后端服务器的主要内容,如果未能解决你的问题,请参考以下文章

我如何将 Postgres DateRange 类型与 TypeOrm 一起使用

使用 typeorm 在 postgres 中搜索数组中的项目

如何以正确的方式将@admin-bro/nestjs 与@admin-bro/typeorm 和postgres 一起使用?

如何在 typeorm、postgres 中组合 3 列唯一的?

TypeORM 中的 Postgres 枚举

节点服务器无法通过 Docker 连接到 Postgres,使用 TypeORM