node.js - 使用 Sequelize js 运行 postgres 函数

标签 node.js postgresql sequelize.js

我正在尝试针对我的 postgres 数据库运行 sequelize.js 中的函数。当我通过 RazorSQL(数据库 IDE)运行它时,该函数工作正常,但在 Node 服务器上从 sequelize.js 运行它时会引发错误。

我对带参数和不带参数的函数都试过了。

Node 服务器上的 CoffeeScript

query = "SELECT * FROM order.base_orders(); "

sequelize.query(query, null, {raw: true}).success (rows) =>
  deferred.resolve rows
.error (error) =>
  deferred.reject error

它返回以下错误。
{
"error": {
    "name": "error",
    "length": 216,
    "severity": "ERROR",
    "code": "42883",
    "hint": "No function matches the given name and argument types. You might need to add explicit type casts.",
    "position": "15",
    "file": "parse_func.c",
    "line": "306",
    "routine": "ParseFuncOrColumn",
    "sql": "SELECT * FROM order.base_orders(); "
}

}

最佳答案

你这样做有点错误。函数只能在列选择区调用。喜欢

select function(arguments)

在 Sequelize 中它会是这样的
const query = "SELECT searchProducts('search query');"
return sequelize.query(query);

请注意,sequelize 是我创建的 Sequelize db session ,如下所示
var sequelize = new Sequelize('database', 'username', 'password', {
  host: 'localhost',
  dialect: 'mysql'|'sqlite'|'postgres'|'mssql',

  pool: {
    max: 5,
    min: 0,
    idle: 10000
  },

  // SQLite only
  storage: 'path/to/database.sqlite'
});

关于node.js - 使用 Sequelize js 运行 postgres 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23315013/

相关文章:

node.js - 在收到用户输入之前如何阻止?

sql - 将多个 SELECT INTO 结果组合成一个变量

javascript - 如何用一个声明产生多个常量

javascript - 实例方法在 Sequelize 4 上不起作用

javascript - Firestore 和 Node.js : . set/.update => 将变量作为键传递

node.js - Node.js 事件循环的概念与 CICS 伪对话式编程相同吗?

postgresql - 如何为 linux、Fedora 安装 psycopg2

sql - psql onDelete : cascade not working 的 Sequelize

javascript - 在 Sequelize JS 中禁用主键

Node.js + MongoDB : Generating shorter ID