Как отправить только определенный атрибут списка в ответе NodeJs - PullRequest
1 голос
/ 10 июля 2019

Извините, может быть, это действительно простой вопрос / проблема, но я застрял некоторое время.

Я построил API с использованием ExpressJs и Sequelize. Я успешно получил данные, но у меня возникла проблема при попытке показать все данные в виде списка. Вот мой код для установки ответа:

exports.ok = function (values, res) {
var data = {
    'status': 200,
    'values': values
};
res.json(data);
res.end();
}

ответ показал как:

enter image description here

данные выше показывают все атрибуты, как я могу показать только имя и идентификатор. Thankyou.

Ответы [ 3 ]

1 голос
/ 10 июля 2019

Если вы используете sequelize для получения результата, вы должны установить атрибуты при запросе таблицы. используя как

const values = await db.Users.findAll({
    attributes: ['id', 'name'],
    order: [
        ['id', 'ASC']
    ]
});
1 голос
/ 10 июля 2019

Как подсказал @Sindis, вам просто нужно применить map к ответу, а затем выбрать необходимые поля.

  exports.ok = function (values, res) {
      var data = {
        'status': 200,
        'values': values.map(val => return { id: val.id, name: val.name })
      };
      res.json(data);
      res.end();
    }

Надеюсь, это поможет.

0 голосов
/ 10 июля 2019

решено

Работает с этим:

exports.ok = function (values, res) {
var data = {
    'status': 200,
    'values': values.map(function (value) {
        return {
            id: value.id,
            name: value.name,
            email: value.email
        }
    })
};
res.type('json');
res.send(data);
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...