npm 包 waterline-schema 使用教程

阅读时长 5 分钟读完

简介

waterline-schema 是面向对象的数据建模工具,它使用 JavaScript 对象表示数据结构,并为访问和操作数据添加了一些简单的方法。它和 ORM 相似,但是它实现了跨数据存储中心结构感知的数据操作,包括 MySQL、MongoDB、PostgreSQL、Redis 等诸多数据存储中心。

本文将介绍如何使用 npm 包 waterline-schema,创建和访问对象、定义关系和设置属性。

安装

安装 waterline-schema,可以使用 npm:

创建对象

要使用 waterline-schema 创建对象,要首先创建一个 model,一个 model 是 waterline-schema 的最基本的核心构件。model 是数据的一部分,它被设计成非常灵活、可配置和可扩展。

下面我们将创建一个名为 "User" 的 model,包含属性 "name" 和 "age":

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

这段代码使用 extend() 方法创建了一个名为 "User" 的 model。它有一个 identity 名称,这里是 "user"。这是一个关键属性,表示该 model 在系统中的惟一标识符。

它还有一个 connection 属性,它指向我们定义的数据存储中心,这里是 "myLocalMysql"。这个数据存储中心必须与我们的 model 一起使用。

然后我们设置了 properties 属性包含了后面的属性数组,表示我们的 model 包含一个叫做 name 的字符串属性,和一个叫做 age 的数字属性。

访问对象

为了访问 "User" 对象,我们需要先创建一个对象的实例:

然后我们可以通过调用实例中的属性来访问对象的属性:

定义关系

当我们在使用 ORM 时,模型之间的关系也是非常重要的,waterline-schema 同样支持关系的定义。下面我们将在 "User" 和 "Group" 之间创建一个多对多的关系:

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

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

在 "Group" 中,我们添加了一个 users 属性,类型为 "collection"。这个属性告诉 waterline-schema,每一个 "Group" 包含多个 "User" 对象,并且可以通过 "via" 属性和 "User" 中的 "groups" 来访问。

在 "User" 中,我们添加了一个 groups 属性,类型为 "collection"。这个属性告诉 waterline-schema,每一个 "User" 包含多个 "Group" 对象,并且可以通过 "via" 属性和 "Group" 中的 "users" 来访问。

设置属性

我们可以通过在 "User" 中定义属性 "isAdult" 来实现一个计算属性,用于判断是否成年:

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

我们使用一个函数来定义 "isAdult" 属性,这个函数检查 "age" 属性的值是否大于等于 18。使用这种方式来定义属性,可以轻松地为对象添加计算属性。

总结

在本文中,我们介绍了如何使用 npm 包 waterline-schema 创建、访问对象,定义对象之间的关系以及如何设置属性,你可以使用本教程快速上手学习 waterline-schema,掌握构建更复杂、更强大的系统的必备知识。

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

纠错
反馈