如何使用节点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'])
- 在NodeJS ExpressJS中从req.body中删除一个variables
- nodejs,发电机表获取操作callback或asynchronous
- React和Grunt – Envify NODE_ENV ='production'和UglifyJS
- 用Mongoose和Node.js和Underscore生成代码的直接方法是什么?
- 公约退出代码1
- Express:为所有模板传递variables
- 重新sortingmongoose对象(实例)具有相同的顺序像相关的mongoose纲要
- ReferenceError:在Ajax调用尝试redirect用户之后没有定义窗口
- Node.js body-parser将不会使用json中的方括号来分析input名称