npm 包 @monaco-ex/pg-promise 使用教程

阅读时长 4 分钟读完

在进行 Web 开发和数据库操作时,我们常常会用到 PostgreSQL 数据库。而 @monaco-ex/pg-promise 是一个用于操作 PostgreSQL 的 Node.js 包,它是 pg-promise 模块的增强版本。

在本文中,我们将学习如何使用 @monaco-ex/pg-promise 来连接和操作 PostgreSQL 数据库。

安装

在使用 @monaco-ex/pg-promise 之前,我们需要先安装它。我们可以使用 npm 包管理器来进行安装:

或者,我们可以直接在项目中添加以下行来在 package.json 文件中添加依赖:

安装完成后,我们需要在代码中导入使用它的模块:

连接数据库

接下来,我们需要连接 PostgreSQL 数据库。在使用 @monaco-ex/pg-promise 时,我们需要提供数据库的配置信息以便连接。

我们需要传递这个 config 对象到 pgp(即 @monaco-ex/pg-promise 的实例)构造函数中来创建一个数据库连接:

执行查询

我们连接到了数据库,现在可以通过 @monaco-ex/pg-promise 执行查询。我们使用 db.query 方法来执行查询。该方法返回一个 Promise,它的结果将被解析为一个结果集。例如:

在这个例子中,我们查询了一个表,并将结果打印到控制台。如果出现错误,我们会将错误信息打印到控制台。

我们还可以使用命名查询参数和字符串形式的查询:

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

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

在这两个例子中,我们使用 $1 来表示查询参数。在第一个例子中,我们使用了一个数字(即 1),在第二个例子中,我们使用了一个字符串数组(即 ['John'])来表示参数。请注意,这些参数将被自动地转义以避免 SQL 注入攻击。

事务处理

@monaco-ex/pg-promise 也提供了事务处理。我们可以使用 db.tx 方法来创建事务。事务是一个用于执行多个数据库操作的单个操作单元,如果其中一个操作失败,整个事务将自动回滚。

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

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

在这个例子中,我们将两个操作添加到事务中:向购买表中插入一个新记录,以及将库存中的数量减 1。

结论

到这里,我们已经学习了如何使用 @monaco-ex/pg-promise 来连接和操作 PostgreSQL 数据库。我们学习了如何查询数据、处理事务,以及如何防止 SQL 注入攻击。

我们强烈建议读者自己动手实践本文中的例子,并在实践过程中深入思考和扩展。祝愿你在前端开发中取得更多的进步!

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

纠错
反馈