npm 包 bookshelf-uuid 使用教程

阅读时长 3 分钟读完

介绍

bookshelf-uuid 是一款基于 Node.js 的 npm 包,它是 bookshelf.js 的一个插件。它可以让你在使用 bookshelf.js 框架时生成 UUID 主键,避免使用自增 ID 带来的一些问题。

安装

你可以使用 npm 安装 bookshelf-uuid:

使用

在使用 bookshelf-uuid 之前,需要先安装 bookshelf.js。这里以 MySQL 为例,假设已经创建好了一个 users 表。

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

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

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

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

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

可以看到,我们在初始化 bookshelf 后先使用了 bookshelf-uuid 插件,在定义 model 时,不需要再指定主键,而是直接使用了默认的 ID 字段。在保存数据时,我们只需指定除 ID 之外的其他字段,保存后可以观察到控制台上打印出的 ID 是一个 UUID:

如果想要自定义主键字段名成为 uuid:

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

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

这样保存后,控制台上打印出的主键名将会是 uuid 而不是 id。

指导意义

使用 bookshelf-uuid,首先可以避免使用单调自增的 ID 带来的很多问题,如:不利于分布式部署,明显的顺序性会暴露业务流程,存在很大可能性的 ID 碰撞等。

其次,使用 UUID,虽然相较于单调自增,数据表在 storage 和索引层面上的性能稍有下降,但是总的来说,ID 已经不是当前大多数系统的性能瓶颈,而如此做事可以将系统文化从 datalake,evolving to data stream,是的适应 fog computing 的分布式部署的趋势。

最后,书写 Node.js 相关的架构和项目时,经常需要引用 uuid 或使用这类的第三方库,当每个项目都去依赖 uuid 时,对于包管理和开发人员的负担都会增加。使用 bookshelf-uuid 插件可以将生成 UUID 的逻辑统一管理,方便维护。

总结

bookshelf-uuid 插件是一款基于 Node.js 的 npm 包,它可以让你在使用 bookshelf.js 框架时生成 UUID 主键,避免使用自增 ID 带来的问题。本文介绍了 bookshelf-uuid 的安装和使用方法,以及其背后的一些意义。希望能对您有所帮助!

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