sql >> Database teknologi >  >> RDS >> PostgreSQL

Afslappende Api Express postgres-database

Jeg har ikke brugt pg-promise .

Hvis det hjælper, kan du bruge PostgreSQL-klient til Node.js . Du kan også bruge async/await med det.

I stedet for en router kan du bruge Express middle-ware med det samme som følger.

//app.js:

const express = require('express')
const bodyParser = require('body-parser')
const app = express()
const port = 1234

const db = require('./dbconnector')

//...omitted for brevity`
// 'db' is exported from a file such as 
// dbconnector.js.
app.get('/products', db.getProducts) 


//In dbconnector.js:
const Pool = require('pg').Pool
const pool = new Pool({
  user: 'postgres',
  host: 'localhost',
  database: 'mydb',
  password: 'mypwd',
  port: 5432,
})

const getProducts = (request, response) => {
    pool.query('SELECT * FROM products ORDER BY id 
ASC', (error, results) => {
      if (error) {
        throw error
      }
      response.status(200).json(results.rows)
    })
  }

// ...omitted for brevity

module.exports = {
 getProducts 

}

Til modulært design skal du bruge en separat fil (ikke app.js/index.js/server.js ) for db-forbindelser som bedste praksis og require det i din primære app.js .

Her er hjælppg modul.



  1. PostgreSQL, trigrammer og lighed

  2. Flask-SQLAlchemy - på farten forbindelser til flere databaser

  3. Hvordan ændres CHARACTER SET (og COLLATION) i hele en database?

  4. MySql 5.7 ORDER BY-klausul er ikke i GROUP BY-klausul og indeholder ikke-aggregeret kolonne