Node / Express中的模型

时间:2016-02-12 02:06:56

标签: node.js express mean-stack

在典型的MEAN堆栈应用程序中,服务器端具有Model,View和Controller,其中Model表示mongoose模型。假设应用程序不直接访问数据库,而是通过RESTful API访问数据库,在这种情况下是否有任何模型表示?如果是,那么模型表示是什么?

1 个答案:

答案 0 :(得分:0)

当我们使用mongoose进行某种操作时,有各种各样的进程顺序运行。调用静态,方法,数据验证,预保存挂钩等等。现在,对于访问DB的REST API,有一些方法可以创建这些流程。

我们假设我们正在对用户进行操作 -

  1. 使用validator.js
  2. 等验证工具创建可验证特定用户(req.body)的所有数据的服务
  3. 在该服务中创建方法,可以作为与在猫鼬模型中创建的静态或方法相同的静态方法或方法
  4. 如果有必要,在通过REST API发送数据之前,您还可以创建预保存挂钩(总是被调用的方法,如散列密码)
  5. 可以通过在路由中间件中按顺序调用数据,以非常好的方式创建多个服务来验证和修改数据。

    例如 -

    router.post('/users', [
      RestService.getUserById,
      UserService.checkForDuplicateUser,
      UserService.validateData,
      UserService.preSaveHook,
      RestService.saveUser
    ]);
    

    因此可以通过这种方式创建模型表示。