如何使用节点JS调用PostgreSQL函数参数?

我是PostgreSQL和节点JS的新手。 我正在使用节点js创buildWeb服务。 我在PostgreSQL中创build了函数并成功执行了。 现在我想通过节点JS调用这个函数,但我不知道如何发送参数值。 我想通过节点JS在表中插入两个值“task_name”和“task_type”。 我怎样才能做到这一点?

PostgreSQL函数 –

CREATE FUNCTION inserttask(task_name text, task_type text) RETURNS void AS $BODY$ BEGIN INSERT INTO tasklist(taskname, tasktype) VALUES(task_name, task_type); END; $BODY$ LANGUAGE 'plpgsql' VOLATILE COST 100; 

节点js代码 –

 app.param(['task_name', 'task_type'], function (req, res, next, value) { console.log('CALLED ONLY ONCE with', value); next(); }); app.get('/inserttask/:task_name/:task_type', function (req, res, next) { console.log('vivek'); // var task_name=req.query.task_name; // var task_type=req.query.task_type; var task_name='vivek'; var tast_type='singh'; db.any('select inserttask(task_name,task_type)') //db.any('select getFriends()') .then(function (data) { res.status(200) .json({ status: 'success', message: 'Insert Task', data: data }); }) .catch(function (err) { return next(err); }); }) 

根据文件值作为数组| | 价值之后,试试:

 db.any('select inserttask($1, $2)', ['task_name','task_type']) 

由pg-promise作者编辑。 最好的办法是通过方法func :

 db.func('inserttask', ['task_name','task_type'])