前言
在 web 应用开发中,我们经常需要与数据库进行交互。ORM(Object-Relational Mapping,对象关系映射)是一种将数据库表映射到类(对象)上的技术。ORM 工具可以将数据库的 CRUD(增删改查)操作转化为类的方法,极大地减少了编码工作量。npm 包 oly-orm 是一个简单而优雅的 Node.js ORM。它与主流数据库(如 MySQL、PostgreSQL、SQLite、MSSQL 等)兼容,可以轻松地进行增删改查操作。本篇文章将介绍 oly-orm 的使用方法。
安装
你可以使用 npm 直接安装 oly-orm。
npm install oly-orm
初始化
首先,我们需要在代码中引入 oly-orm。
const OlyOrm = require('oly-orm');
然后,我们需要连接到数据库。oly-orm 目前支持 MySQL、PostgreSQL、SQLite 和 MSSQL 数据库。连接数据库的方法各不相同,以 MySQL、PostgreSQL 和 SQLite 为例:
-- -------------------- ---- ------- -- ----- ----- --- - --- -------- -------- -------- ----- ------------ ----- ----- --------- ------- --------- ------- --------- ---------- --- -- ---------- ----- --- - --- -------- -------- ----------- ----- ------------ ----- ----- --------- ------- --------- ----------- --------- ---------- --- -- ------ ----- --- - --- -------- -------- --------- -------- ---------- -- -------- ---
其中,对于 MySQL 和 PostgreSQL,我们需要指定 host、port、database、username 和 password;对于 SQLite,我们需要指定 storage。
定义模型
接下来,我们需要定义我们的模型。模型是代表数据库中表的类,它与表的结构和字段一一对应。
-- -------------------- ---- ------- ----- ---- ------- ------------ - ------ --------- ---------- - ------ ------------ ------ ----------------- ------- ----------------- ------------- - ----- ------------------- ---------- ----- - -- - ---------- --- --- - -
在这个例子中,我们定义了一个名为 Book 的模型,它有三个字段:title、author 和 publish_date,类型分别为字符串、字符串和日期。可以看到,我们可以在字段中指定类型,并且可以指定 allowNull 属性来指定是否允许为空。同时,我们还需要在 super.init() 方法中传入 sequelize 参数,以便 oly-orm 知道该将模型和哪个 ORM 实例关联起来。
增删改查
定义好模型之后,我们就可以开始进行增删改查操作了。以下是 oly-orm 支持的一些操作:
findById(id)
根据 id 查找一条记录。
const book = await Book.findById(1); console.log(book.title, book.author, book.publish_date);
findAll(options)
查找多条记录,支持一些特殊选项,例如 where、order 和 limit。
-- -------------------- ---- ------- ----- ----- - ----- -------------- ------ - ------------- - ---------------- ------------ - -- ------ ----------------- -------- ------ -- --- ------------------ -- - ----------------------- ------------ ------------------- ---
create(values)
创建新的记录。
const book = await Book.create({ title: 'The Big Book of Node.js', author: 'John Doe', publish_date: '2021-01-01' }); console.log(book.id, book.title, book.author, book.publish_date);
update(values, options)
更新记录,支持一些特殊选项,例如 where。
const result = await Book.update({ author: 'Jane Doe' }, { where: { author: 'John Doe' } }); console.log(result);
destroy(options)
删除记录,支持一些特殊选项,例如 where。
const result = await Book.destroy({ where: { author: 'Jane Doe' } }); console.log(result);
总结
本文介绍了 npm 包 oly-orm 的使用方法。我们先介绍了如何连接数据库,然后定义了模型,最后介绍了增删改查等常见数据库操作。oly-orm 简单而优雅,易于上手,可以轻松地进行数据库操作。
参考资料
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066fb03d1de16d83a67362