概述
node.js如何连接PostgreSQL,并且对数据库进行相应操作
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。
本文主要介绍如何用node.js连接PostgreSQL数据库,并且对数据库进行相应的需求操作,该文完成的是接口的编写,该接口可连接PostgreSQL数据库,然后对数据库进行数据查询等操作。
编译环境
编译软件:Visual Studio Code
使用到express框架:Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。
使用 Express 可以快速地搭建一个完整功能的网站。
index.js
//1、引入express模块
const express=require('express')
//2、创建app对象,通过语法express() 底层原理http模块的createServer
const app=express()
const path=require('path')
const bodyparser=require('body-parser');
app.use(bodyparser.urlencoded({extende:false}));
app.use(bodyparser.json())
//导入swagger 利用swagger生成接口文档
const swaggerJsdoc=require('swagger-jsdoc')
const swaggerui=require('swagger-ui-express')
//配置swagger
const options={
definition:{
openapi: '3.0.0',//openapi版本
info:{//项目信息
title:'',//项目标题
version:'1.0.0',//版本号
description:''//描述
}
},
apis:[path.join(__dirname,'/routes/*.js')]//api文档由哪些命名文件生成
}
const swaggerSpec=swaggerJsdoc(options);
app.use('/api',swaggerui.serve,swaggerui.setup(swaggerSpec,{explorer: true}))//定义swagger访问的路由
//定义路由
const PieDateRouter =require('./routes/DateRoute')
app.use('/',PieDateRouter)
//启动服务监听端口
//app.listen(3000)
app.listen(3000,()=>{
console.log('http://localhost:3000')
})
routes/DateRoute.js
const express=require('express')
const router=express.Router();
//控制器添加
const DateController=require('../controller/DateController.js')
router.get('/FindDate',DateController.finddate)
module.exports= router
controller/DateController.js
const {
Date,
}=require('../model/DateModel')
//定义处理方法
const finddate=async(req,res)=>{
//获取数据
//let choice=req.params.id;
let rs=await Date()
if(rs){
res.send({
meta:{
state:200,
msg:'查询成功'
},data:rs
/*JSON.parse(JSON.stringify(rs)
.replace(/count/g,'rate')
上述代码可改变输出的结果样式,输出结果为json格式
*/
)
})
}else {
res.send({
meta:{
state:500,
msg:'查询失败'
},data:null
})
}
}
//导出成员
module.exports={
finddate
}
model/DateModel
const pg = require('pg')
//创建链接对象
const con={
host:'localhost',//对应服务器,如果是本地,则为localhost
user:'postgres',
password:'',
port:'',
database:''
}
const pool=new pg.Pool(con);
pool.connect(function(err){
if(err) {
return console.error('数据库连接出错', err);
}
return console.log('数据库连接成功')
})
const Date=()=>{
//常用sql语句,和mysql语句基本一致
var sql='select 车间,count(*) from crane group by("车间")';
return pool.query(sql)
.then(res=>{
/* node.js中数据的统计加法
var sum=0;
for(var i=0;i<res.rows.length;i++){
sum+=Number(res.rows[i].count);
//console.log(res.rows[i].count);
}*/
//console.log(sum);
/*计算数据的小数保留
for(var i=0;i<res.rows.length;i++){
res.rows[i].count=(res.rows[i].count/sum).toFixed(3);
}*/
return res.rows;//传出查询到的数据
})
.catch(err=>{
console.log('查询失败'+err)
return false
}
)
}
//关闭连接
module.exports={
Date
}
运行
在脚本编辑器上输入node index.js
就可运行接口,然后在postman上输入接口(http://localhost:3000/FindDate)就可进行接口的测试。
最后
以上就是积极黑米为你收集整理的node.js如何连接PostgreSQL,并且对数据库进行相应操作node.js如何连接PostgreSQL,并且对数据库进行相应操作的全部内容,希望文章能够帮你解决node.js如何连接PostgreSQL,并且对数据库进行相应操作node.js如何连接PostgreSQL,并且对数据库进行相应操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复