Node.js:如何在 Sequelize 中使用 Postgres 存储过程?

Posted

技术标签:

【中文标题】Node.js:如何在 Sequelize 中使用 Postgres 存储过程?【英文标题】:Node.js: How to use a Postgres Stored Procedure in Sequelize? 【发布时间】:2017-01-28 09:15:15 【问题描述】:

我最近正在学习这个强大的 ORM 的所有规范,例如迁移表、定义架构、定义模型、关联、插入等。

我的特殊问题是如何在 sequelize 中管理 Postgres 存储过程 (SP)?

我正在为我的服务器使用 Node.js。

【问题讨论】:

【参考方案1】:

你可以使用:

sequelize.query('CALL yourStoredProcedure();')
  .then(data => 
    // success ...
  ).catch(error => 
    // error ...
  );

更新(2017 年)

您也可以将其与 ES2017 语法一起使用:

try 
  let data = await sequelize.query('CALL yourStoredProcedure();');
  // success ...
 catch (error) 
  // error ...

请注意,您需要位于使用 async 关键字声明的函数内。

第二种语法在 Node v7.0+ 中使用和声标志,而在 v7.6+ 中没有任何标志。见:

http://node.green/#ES2017-features-async-functions

有关更多信息,请参阅此答案的更新:

jQuery: Return data after ajax call success

【讨论】:

以上是关于Node.js:如何在 Sequelize 中使用 Postgres 存储过程?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 node.js 中使用 sequelize-npm 实现与连接表的一对多关系

如何在 Sequelize 中创建一个表以使用 Node JS 存储在 Postgresql 中

Node.js - 如何使用 Sequelize 交易

如何使用node.js控制sequelize中的内连接查询?

如何使用 Sequelize 和 node.js 进行批量插入

Node.js / Sequelize.js / Express.js - 如何插入多对多关联? (同步/异步?)