编程语言应用

注册

 

发新话题 回复该主题

web前端培训Nodejs如何连接到P [复制链接]

1#

Node.js在连接到PostgreSQL时提供了很大的灵活性,但它也使整个过程变得简单。

大多数现实世界的应用程序以一种或另一种方式与数据库交互。数据库使持久化、分析数据和与数据交互变得容易。

大多数编程语言都支持将应用程序连接到PostgreSQL等数据库。了解如何使用node-postgres模块将Node应用程序连接到PostgreSQL。

如何开始

要开始连接到本地数据库,您需要安装PostgreSQL服务器。

PostgresSQL因其灵活性和强大功能而成为最常见的关系数据库系统之一。如果您的项目很复杂,或者您正在寻找包含开源精神的解决方案,您可能会考虑使用它作为MySQL的替代品。

创建Node应用程序

第一步是创建一个Node应用程序,您将使用它来测试连接代码。在您的首选文件夹中,创建一个新文件夹。

mkdirpostgres-node

导航到您创建的文件夹并初始化npm。

cdpostgres-node

npminit-y

此命令应生成一个package.json文件。

接下来,创建一个新文件并将其命名为index.js。您将在此文件中将Node连接到PostgreSQL。

使用node-postgres模块

node-postgres模块是一个npm包,它允许您连接到PostgreSQL数据库并与之交互。使用node-postgres模块可以使用两个选项将Node与PostgreSQL连接:单个客户端或连接池。那么你应该使用什么?

如果一次只需要一个静态连接,请使用单个客户端。但是,如果您需要使用并发和多个请求,请使用连接池。

安装node-postgres

在终端中运行以下命令以安装node-postgres。

npminstallpg

如果您使用node=14.x,则需要稍后安装pg

8.2.xo。您可以通过像这样将其添加到安装命令后缀来指定版本号。

npminstallpg=8.7.3

连接到PostgreSQL

node-postgres模块需要以下值才能连接到PostgreSQL数据库。

PGUSER-要连接的PostgreSQL用户名。

PGHOST-要连接的服务器主机的名称。

PGPASSWORD-PostgreSQL服务器的密码。

PGDATABASE-您要连接的数据库的名称。

PGPORT-在服务器主机上连接的端口号。

创建一个.env文件并添加这些变量,替换数据库中的相应值:

PGUSER=PGUSER

PGHOST=PGHOST

PGPASSWORD=PGPASSWORD

PGDATABASE=PGDATABASE

PGPORT=PGPORT

安装dotenv包以访问.env文件。

npminstalldotenv

在index.js中,导入并配置dotenv。

constdotenv=require("dotenv")

dotenv.config()

使用单个客户端连接到PostgreSQL数据库

下面的代码展示了如何使用单个客户端将Node连接到PostgreSQL服务器。

const{Client}=require("pg")

constdotenv=require("dotenv")

dotenv.config()

constconnectDb=async()={

try{

constclient=newClient({

user:process.env.PGUSER,

host:process.env.PGHOST,

database:process.env.PGDATABASE,

password:process.env.PGPASSWORD,

port:process.env.PGPORT

})

awaitclient.connect()

constres=awaitclient.query(SELECT*FROMsome_table)

console.log(res)

awaitclient.end()

}catch(error){

console.log(error)

}

}

connectDb()

使用连接池

如前所述,连接池允许您向服务器发出多个连接请求。

const{Pool}=require("pg");

constdotenv=require("dotenv");

dotenv.config();

constconnectDb=async()={

try{

constpool=newPool({

user:process.env.PGUSER,

host:process.env.PGHOST,

database:process.env.PGDATABASE,

password:process.env.PGPASSWORD,

port:process.env.PGPORT,

});

awaitpool.connect()

constres=awaitpool.query(SELECT*FROMclients)

console.log(res)

awaitpool.end()

}catch(error){

console.log(error)

}

}

connectDb()

上面的示例让您可以通过.env文件控制数据库配置。但是,您也可以使用标准环境变量提供这些配置值。这种方法使您可以在启动时轻松更改配置。

考虑以下连接代码。

constconnectDb=async()={

try{

constpool=newPool();

constres=awaitpool.query(SELECT*FROMclients)

console.log(res)

awaitpool.end()

}catch(error){

console.log(error)

}

}

在这个程序中,初始化Pool时,您没有将连接对象作为参数传递。相反,您必须在调用程序时指定连接详细信息,如下所示:

PGUSER=PGUSER\

PGHOST=PGHOST\

PGPASSWORD=PGPASSWORD\

PGDATABASE=PGDATABASE\

PGPORT=PGPORT\nodeindex.js

像这样将Node连接到PostgreSQL可以让您编写更可重用的程序。

使用PostgreSQL做更多事情

要创建与数据库交互的应用程序,您必须先将其连接到数据库。在本文中,您学习了如何使用node-Postgres模块将Node连接到PostgreSQL数据库。

除了PostgreSQL,您还可以在应用程序中使用其他数据库管理系统,例如MySQL。您选择的数据库工具应该与您的数据需求最兼容。

文章来源于Linux公社

分享 转发
TOP
发新话题 回复该主题