简介
Active_Record是一种优秀的ORM(对象关系映射)框架,它是Ruby On Rails(RoR)框架中的一部分。它已经得到了广泛的应用,并在不同语言环境中得到了很好的支持。Active_Record通过将每个表方法(对象)到一个类的映射,将数据存储在数据库中。Active_Record通过使用一种技术将这些对象持久化。
该 NPM包是一个精简版的Active_Record处理数据库, 便于用在Node.js开发中, 由于其与 Rails ActiveRecord 语法类似, 且支持MySQL, PostgreSQL两种数据库, 得到了广泛的应用。
本篇文章将详细介绍npm包Active_Record的使用教程,在实现过程中要深入了解如何使用它,为大家提供指导意义,并且将包含示例代码。
安装
在您的项目中使用npm,安装Active_Record包:
npm install active_record
在你的项目的根目录下创建config.js
文件, 根据你的需求,设置你的数据库配置,如下:
-- -------------------- ---- ------- ----- ------ - - --------- ---------- -- -------- ----- ------- -- --- --------- ---------- -- -- ----- ------------ -- --- ----- ---- -- --- -- -------------- - -------
使用
接下来,我们将结合实例代码做更深入的介绍,来讲解如何使用Active_Record完成数据库操作。让我们从连接数据库开始,连接成功后我们可以开始构建我们的数据模型。
-- -------------------- ---- ------- ----- - -- - - ------------------------- ----- -------- - ------------------- -- ---- ----- - --------- - - --- -- ----- --------------------- -- ---- ---- ---- ----- - ------- ---- ----- ---- - ----------------- - ------ - ----- ----------------- -- -------- ---------- ----- -- ---- ---- ---- ------ -- -------- - ----- --------------- -- ------- ---------- ----- - --
在我们的实例中,我们已经执行了整个过程中的第一步,连接到数据库。接下来,我们创建一个包含title和content两个字段的Post表,在代码中我们通过DB定义了一个Active_Record模型,然后使用DB.define
函数定义数据模型的字段。我们可以使用Active_Record支持的各种属性来控制字段的行为,如数据类型和是否可以为空值。有了这些定义,Active_Record框架会自动创建数据库表。
下一步,我们可能需要添加其他的功能。例如,添加数据
const addPost = async (title, content) => { try { const newPost = await Post.create({ title: title, content: content }); console.log(`Post ${newPost.id} was created with title "${newPost.title}"`); } catch (error) { console.error(error) } }
在本例中,我们定义了一个名为addPost的函数,它将接受标题和内容作为参数,并使用Active_Record框架将它们插入数据库中。我们使用Post.create
函数来创建一个新的Post,并使用await等待Promise完成操作。在这里,我们提示新帖子的id和标题,让我们可以检查是否成功插入数据库。
现在我们可以修改一个来自我们数据库表的一行
-- -------------------- ---- ------- ----- ---------- - ----- ---- ------ -------- -- - --- - ----- ---- - ----- ------------------ ---------- - ------ ------------ - -------- ----- ------------ ----------------- ---------- --- ------- ---- ----- ------------------ - ----- ------- - -------------------- - -
在例子中,我们定义了一个名为updatePost
的函数,它需要id,标题和内容作为参数,从表中获得指定Post,并将标题和内容更新为传入值。最后,我们使用post.save()将更新保存到数据库,并打印出更新后的信息。
最后一个例子是如何删除数据
-- -------------------- ---- ------- ----- ---------- - ----- ---- -- - --- - ----- ---- - ----- ------------------ ----- --------------- ----------------- ----- --- ----------- - ----- ------- - -------------------- - -
在这个例子中,我们定义了一个名为deletePost的函数,它需要一个id作为参数。函数使用Post.findByPk
函数从数据库中检索特定的Post,然后使用post.destroy
从数据库中删除它(使用Post.remove会有警告)。最后,它会打印出删除完成的信息。
总结
在本文中,我们详细介绍了如何在Node.js上使用Active_Record,其包含的示例代码也加深了我们的理解,尤其是数据模型和与数据库交互的方法。Active_Record的目标是为复杂的数据库操作和关系提供强大的方法和标准化的接口,以简化开发过程,而且通过NPM包Active_Record, 你可以非常容易地使用它在Node.js上构建应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/86623