我正在尝试针对我的 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/