如何使用postgreSQL和nodejs为特定用户创建路由?

时间:2017-10-30 03:41:57

标签: node.js postgresql express

我正在使用一个nodejs项目,我正在使用postgreSQL。该项目与为雇主创建时间表有关。我已经创建了显示时间表和项目的路线。

app.route(/api/timesheet)

现在,我想为此项目创建用户模型,并希望为特定用户添加特定时间表。这意味着,具有特定用户标识的用户只能查看与该用户相关的时间表信息。 我可以用mongodb做到,但我想用postgreSQL做。 在此任何提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

好吧,我已经创建了用户阵列,我有两个用户

const users = [
  {
      "id": "userId1",
      "email": "user1@mail.com",
      "password": "password"
  },
  {
      "id": "userId2",
      "email": "user2@mail.com",
      "password": "password2"
  }

];

然后我按照你上面的描述创建了路线

app.route('/api/timesheet')
  .get(function (req, res) {
    let id = req.params.id;

    let user = users.find(user => user.id = id);
    res.json(user);
  });

路由不会变化,路由始终相同,只是根据您作为参数传递的内容提供不同的数据。 如果你的查询中的GET请求有"?userId = userId1"这会给你第一个对象作为回应,如果你传递第二个" userIs2",它会给你第二个。

当我在nodejs项目中使用postgreSQL时,我总是使用sequelize

您可以像这样定义用户架构

module.exports = function(sequelize, DataTypes) {
      return sequelize.define('user', {
        email: Sequelize.STRING,
        password: Sequelize.STRING
      });
  }

然后您将调用User.findById(id),它将为您指定id为课程

的用户

sequelize是一个功能强大的库,因此您应该在使用之前查看文档