NPM 包 @norjs/nopg 使用教程

阅读时长 6 分钟读完

什么是 @norjs/nopg

@norjs/nopg 是一个基于 Node.js 的 PostgreSQL 数据库访问库,可以让开发者更方便地通过 JavaScript 代码访问 PostgreSQL 数据库。

安装

可以通过 npm 安装 @norjs/nopg:

使用步骤

1. 连接数据库

要使用 @norjs/nopg 访问 PostgreSQL 数据库,首先需要建立数据库连接:

-- -------------------- ---- -------
----- ---- - -----------------------

----- -------- - -
  ----- ------------
  ----- -----
  ----- ---------
  --------- -------------
  --------- ------------
--

----- -- - -----------------------

其中,dbConfig 是一个包含数据库连接信息的配置对象,包含以下属性:

  • host:数据库的主机名或 IP 地址;
  • port:数据库服务的端口号;
  • user:登录数据库的用户名;
  • password:登录数据库的密码;
  • database:要连接的数据库名称。

2. 执行 SQL 查询

建立数据库连接之后,就可以执行 SQL 查询语句:

其中,sql 是一个包含 SQL 查询语句的字符串,其中的 $1 表示占位符,用于替换真实的查询参数。params 是一个数组,包含了真实的查询参数。db.query(sql, params) 可以返回一个 Promise,最终得到 SQL 查询的结果。

3. 插入、更新和删除记录

除了查询,@norjs/nopg 还支持插入、更新和删除数据库中的记录。例如:

-- -------------------- ---- -------
----- --------- - ------- ---- ------- ------ ---- ------ ---- --- --------- ----
----- ------------ - --------- ----

----- ------------ - ----- ------------------- --------------
----- ----------- - ------------------------

----- --------- - ------- ------- --- ---- - --- --- - -- ----- -- - ----
----- ------------ - ------- --- -------------

----- ------------------- --------------

----- --------- - ------- ---- ------- ----- -- - ----
----- ------------ - --------------

----- ------------------- --------------

对于插入记录,可以使用 RETURNING 子句获取新记录的 ID。对于更新和删除记录,同样需要提供条件语句和条件参数。

4. 事务处理

在复杂应用场景下,需要支持事务处理。@norjs/nopg 可以通过 db.begin()db.commit()db.rollback() 这几个 API 实现事务处理:

-- -------------------- ---- -------
--- -
  ----- -----------

  -- ---- --- -------
  -- ----------

  ----- ------------

- ----- ----- -
  ----- --------------
-

注意,在进入事务处理块之后,数据库连接处于事务中,只有在调用 db.commit() 之后,修改操作才会生效。如果出现异常,则可以在 catch 块中调用 db.rollback() 回滚事务。

示例代码

最后,我们来看一个完整的示例代码,该代码演示了如何使用 @norjs/nopg 访问 PostgreSQL 数据库:

-- -------------------- ---- -------
----- ---- - -----------------------

----- -------- - -
  ----- ------------
  ----- -----
  ----- ---------
  --------- -------------
  --------- ------------
--

----- -- - -----------------------

----- -------- ------ -
  --- -
    ----- -----------

    ----- --------- - ------- ---- ------- ------ ---- ------ ---- --- --------- ----
    ----- ------------ - --------- ----

    ----- ------------ - ----- ------------------- --------------
    ----- ----------- - ------------------------

    ----- --------- - ------- ------- --- ---- - --- --- - -- ----- -- - ----
    ----- ------------ - ------- --- -------------

    ----- ------------------- --------------

    ----- --- - ------- - ---- ------- ----- -- - ----
    ----- ------ - --------------

    ----- ------ - ----- ------------- --------
    -------------------------

    ----- ------------

  - ----- ----- -
    ----- --------------
    -------------------
  - ------- -
    ---------
  -
-

-------

这个例子使用 db.begin()db.commit()db.rollback() 来创建和管理事务。在事务内部,插入了一条新记录,然后更新该记录,最后查询该记录并将结果打印到控制台上。如果出现异常,则会回滚事务。最后,还需要通过 db.end() 关闭数据库连接。

总结

本文介绍了如何使用 @norjs/nopg 访问 PostgreSQL 数据库。通过该库,可以很方便地在 Node.js 程序中使用 SQL 查询、插入、更新和删除记录,还支持事务处理。希望这篇文章能够帮助你更好地开发 Node.js 应用程序。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/85866