Получить информацию, которую я получаю из базы данных, используя книжную полку в узле / экспресс? - PullRequest
0 голосов
/ 30 октября 2018

Я делаю поиск во всех моих пользователях, как это

      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 голосов
/ 31 октября 2018

Во-первых, если вам нужна только одна запись, вы должны использовать 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
...