Sequelize.js Sequelize:按关联筛选,不包括关联数据
我所看到的所有示例(包括文档)都建议按关联进行过滤应使用以下语法Sequelize.js Sequelize:按关联筛选,不包括关联数据,sequelize.js,Sequelize.js,我所看到的所有示例(包括文档)都建议按关联进行过滤应使用以下语法 [contrived exampled] User.findAndCountAll({ include: [ { model: models.Task, as: 'tasks', where: { status: 'complete' }, }, ], })
[contrived exampled]
User.findAndCountAll({
include: [
{
model: models.Task,
as: 'tasks',
where: {
status: 'complete'
},
},
],
})
但这种风格将包括已完成的任务。如果要按关联进行筛选而不包括关联的记录,该怎么办?我不是说事后使用toJSON
。但在查询级别 a)如果希望看到用户至少有一个任务,可以删除(可选)WHERE子句。
b) 如果不需要任务属性,可以抑制它们(如下所示)
这是一个地狱般的黑客。非常感谢您的分享。
User.findAndCountAll({
include: [
{
model: models.Task,
required : true, // INNER JOIN....
attributes: [] // no task fields shown in result...
}
]
);