使用node / express中的书架从数据库中获取信息?

时间:2018-10-30 16:49:22

标签: node.js express bookshelf.js

我确实这样搜索所有用户

      User.where({id: req.params.id}).fetchAll({columns:['id','email']}).then((resData) => {
            res.json(resData);
        }).catch(err => {
            res.json(err);
        });   

得到这样的东西:

[
    {
        "id": 1,
        "email": "name@gmail.com",
    }
]

但是我该如何在程序中访问这些数据。例如,在res.json(resData)之前做

if (resData.email == 'john@gmail.com') {
    res.json(resData);
} else {
    res.send(403);
}

1 个答案:

答案 0 :(得分:0)

首先,如果您只想要一条记录,则必须使用fetch(),而不是fetchAll()。然后,您可以使用.get()来获取各个属性:

User.forge({id: req.params.id}).fetch({
  columns:['id','email']
}).then((resData) => {
  if (resData.get('email') === 'john@gmail.com') {
    res.json(resData);
  } else {
    res.send(403);
  }
})

或者,如果您想查看模型的所有属性,可以在以下位置找到它们:

 resData.attributes