[Nuxt.js] Node.バインドjs(Express)Postgre DB

1895 ワード

  • Postgreモジュール
  • をインストールnpm install pg --save
  • モジュールインポートおよびクライアントオブジェクト作成
  • ~/api/config/database.js
    const { Client } = require("pg");
    
    // DB 연결 정보
    const postgre = new Client({ 
      user : username, 
      host : 'localhost', 
      database : postgre, 
      password : password, 
      port : 5432
    })
    // DB 연결
    postgre.connect(err => { 
      if (err) { 
        console.error('DB connection error', err.stack) 
      } else { 
        console.log('Postgre Connected...') } 
    });
    
    module.exports = postgre;
  • ルータプロファイルからの接続とクエリーテスト
  • ~/api/routes/sample.js
    const { Router } = require('express');
    const router = Router();
    
    const sampleController = require('../controller/sampleController');
    router.get('/test', sampleController.test);
    router.get('/getTestList', sampleController.getTestList);
    
    module.exports = router;
    ~/api/controller/sampleController.js
    const postgre = require('../config/database');
    
    module.exports.test = function (req, res) {
      res.send('Hello World!')
    };
    
    module.exports.getTestList = function (req, res) {
      postgre.query('SELECT * FROM user', function (err, result, fields) {
        if (!err) {
          console.log(result);
          res.send(result.rows)
        } else {
          console.log('query error : ' + err);
          res.send(err);
        }
      });
    };
    コード作成後、localhost:3000/api/sample/getTestListに接続すると、select文で受信したデータが出力されます.
    参考内容
    [express]postgreSQLバインド
    Vue.js+Express+MySQLを使用してNode APIサーバを構成するPart 2を迅速に起動