[英]Sequelize: How can I prevent virtual columns from included relation from appearing in query result?
我有一个查询,看起来像这样:
return GroupMember.findOne({ where: { gid: gid, member_id: uid }, include: [ { model: User, as: 'member', attributes: ['display_name'], }, { model: Group, as: 'group', attributes: ['name'], } ] });
因此,对于“成员”关系,我只请求“ display_name”列,但是,User模型中声明了3个虚拟列,即使我只要求“ display_name”,它们也始终出现在查询结果中。如何防止虚拟列出现在结果中?
因此,要排除虚拟列,您必须在attributes
字段中使用exclude
属性,因此新查询应如下所示
return GroupMember.findOne({
where: { gid: gid, member_id: uid },
include: [
{
model: User,
as: 'member',
attributes: { include: ['display_name'], exclude: ['virtual_columne_name1', 'virtual_columne_name2', 'virtual_columne_name3']},
},
{
model: Group,
as: 'group',
attributes: ['name'],
}
]
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.