[英]Use connection Postgresql on NodeJS (express)
我是NodeJS和Express的新手,我按照一個教程創建了一個與Mysql的連接的CRUD,其中使用了“ express-myconnection”,該連接被記錄為中間件,並從模型或控制器中使用。 但是我需要使用postgresql,我設法建立了連接,我的問題是我無法從模型或控制器中調用它
const express = require('express');
const path = require('path');
const morgan = require('morgan');
const app = express();
const { Client } = require('pg');
const connectionData = {
user: 'postgres',
host: 'localhost',
database: 'bex',
password: 'postgres',
port: 5432,
}
const client = new Client(connectionData);
client.connect()
client.query('SELECT * FROM bex_usuario')
.then(response => {
console.log(response.rows)
client.end()
})
.catch(err => {
client.end()
})
您將如何創建類似於“ express-myconnection”的中間件,或者如何在無需在每個模型或控制器中定義它的情況下從我的模型或控制器實例化?
const { Pool } = require('pg');
function connectionMiddleware(connectionData) {
const pool = new Pool(connectionData);
return (req, res, next) => {
req.pool = pool;
next();
}
}
app.use(connectionMiddleware({
user: 'postgres',
host: 'localhost',
database: 'bex',
password: 'postgres',
port: 5432,
}));
app.use((req, res, next) => {
req.pool.connect((err, client, release) => {
client.query('SELECT NOW()', (err, result) => {
release();
if (err) return next(err);
console.log(result.rows);
res.send(200);
});
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.