如何使用WHERE条件在Postgres SELECT查询中设置参数化值

时间:2018-06-01 06:24:13

标签: node.js postgresql

我对PostgreSQL很新,请耐心等待。

我需要使用带有where条件的select查询从表中读取记录。

  Eg: select * from switch where switchId=10;

QueryFactory.js

  let queryMap = {
        “getSwitchInfo”: ‘select * from switch where switchId=?’
  }

  module.exports=queryMap;

Controller.js

 let client = require(rootdir+’dao/postgresSQL’);
 let queryFactory = require(rootdir+’/dao/QueryFactory’);

 let query = queryFactory.getQuery(“getSwitchInfo”);

 let switchId = req.query.switchId;
 client.query(query, function(err, res){
         if(err){

          }
 });

请参阅: - 此switchId值10我从客户端获取并使用查询参数我在节点后端层获取它。

请建议如何将switchId作为参数化值传递给查询。

1 个答案:

答案 0 :(得分:0)

我自己找到了这个问题的解决方案。将params添加到数组并将此数组作为第二个参数传递给client.query方法,并在查询中我添加$ 1的条件。现在工作正常

QueryFactory.js

  let queryMap = {
    “getSwitchInfo”: ‘select * from switch where switchId=$1’
  }

  module.exports=queryMap;

Controller.js

  let params = [req.query.switchId];
     client.query(query, params, function(err, res){
         if(err){

         }
   });