2017-05-02 4 views
2

私はPostgreSQLとノードJSの初心者です。私はノードjsを使用してWebサービスを作成しています。 PostgreSQLで関数を作成し、その関数を正常に実行しました。今、私はノードJSを通じてこの関数を呼び出すことを望んでいますが、パラメータで値を送信する方法はわかりません。私はノードJSを通してテーブルに2つの値 "task_name"と "task_type"を挿入したいと思います。どうすればこれを達成できますか?ノードJSを使用しているパラメータでPostgreSQL関数を呼び出す方法は?

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のコード - documents値によると

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); 
    }); 

}) 

答えて

2

は配列として行きます| qryの後の値:

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

編集者pg-promise著者:それを行うための最善の方法は、方法func経由である:私は編集を追加しました

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

;) –

+0

はそのためにあなたに感謝! –

関連する問題