如何查询node.js中的Postgres数据库(api.ai,node.js)

时间:2017-08-24 14:27:31

标签: node.js postgresql dialogflow

我在node.js app中有以下功能:

if (parameters.hasOwnProperty("brand-param") && parameters["brand-param"] !='') {
    codes.readCodes(function(allCodes) {

然后调用函数readCodes并在函数内查询db:

readCodes: function(callback) {
      var pool = new pg.Pool(config.PG_CONFIG);
      pool.connect(function(err, client, done) {
          if (err) {
              return console.error('Error acquiring client', err.stack);
          }
          client
              .query(
                  `SELECT brand_code FROM public.voucher_codes WHERE brand_name=${parameters.hasOwnProperty("brand-param")} `,
                  function(err, result)

如何使用WHERE部分的“brand-param”内容查询数据库?

先谢谢。

1 个答案:

答案 0 :(得分:1)

  1. 必须将parameters中定义的变量apps.js传递给readCodes函数,才能在查询中使用它。

  2. brand_name的检查不正确。它错过了使用single quotes并且参数值本身不正确。

  3. if (parameters['brand-param'] && parameters['brand-param'].length) {
        codes.readCodes(parameters, function(allCodes) {
    
    readCodes: function(parameters, callback) {
      var pool = new pg.Pool(config.PG_CONFIG);
    
      pool.connect(function(err, client, done) {
          if (err) {
              return console.error('Error acquiring client', err.stack);
          }
    
     client.query(
       `SELECT brand_code FROM public.voucher_codes WHERE brand_name='${parameters['brand-param']}' `,
        function(err, result)