javascript - Sequelize : How can I prevent virtual columns from included relation from appearing in query result?

标签 javascript node.js sequelize.js

我有一个看起来像这样的查询:

	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”列。但是,用户模型在其中声明了 3 个虚拟列,即使我只要求“display_name”,它们也始终存在于查询结果中. 如何防止虚拟列出现在结果中?

最佳答案

所以为了排除虚拟列,你必须使用 exclude 属性的 attributes 字段,所以新的查询应该是这样的

    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'],
        }
    ]
});

关于javascript - Sequelize : How can I prevent virtual columns from included relation from appearing in query result?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53754513/

相关文章:

node.js - db.getCollectionInfos 不是函数

mysql - ENOENT : no such file or directory, 统计 '/Users/sampai/Desktop/Repos/task_tracker/task_tracker/build/index.html'

node.js - Sequelize - 在 where 子句中的列上运行

javascript - 基于最大值 knockout 可观察量的依赖关系

javascript - 如何清除 Canvas 元素中的多边形区域?

javascript - 请仅使用纯 JS 更改单击单选按钮的背景颜色

javascript - 无法在中间件中修改/附加 REQUEST

javascript - 从 RxJS4 迁移到 RxJS5 - 实现观察者

javascript - 客户端发送值到node.js并设置为cookie

typescript - 如何从 typescript Sequelize 设置非空属性