很抱歉,也许这是一个非常基本的问题/问题,但是我已经被卡住了一段时间。
我有一个使用ExpressJ和Sequelize构建的API。我已经成功获取了数据,但是在尝试将所有数据显示为列表时遇到了问题。 这是我的代码,用于设置响应:
exports.ok = function (values, res) {
var data = {
'status': 200,
'values': values
};
res.json(data);
res.end();
}
响应显示为:
上面的数据显示所有属性,我如何仅显示名称和ID。 谢谢。
答案 0 :(得分:1)
按照@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();
}
我希望它会有所帮助。
答案 1 :(得分:1)
如果使用序列化获取结果,则必须在查询表时设置属性。使用喜欢
const values = await db.Users.findAll({
attributes: ['id', 'name'],
order: [
['id', 'ASC']
]
});
答案 2 :(得分:0)
已解决
它可以使用:
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);
};