sequelize.js - Sequelize : Filter by association without including associated data

标签 sequelize.js

我见过的所有示例(包括文档)都表明按关联进行过滤应使用以下语法

[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...
          }
       ]
   );

关于sequelize.js - Sequelize : Filter by association without including associated data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54774044/

相关文章:

javascript - Sequelize 验证错误 (isIn)

javascript - 带有 Sequelize 的 Node.js 上的 SQL Server 2008

sequelize.js - 工厂女孩设置了 Sequelize 适配器

node.js - 如何使用 Node.js 从 Sequelize DataTypes 创建 Breeze 元数据?

mysql - LEFT() 函数从其中的字符串中提取多个字符

mysql - beforeCreate Hook 更改未保存到数据库

mysql - 序列化连接以故障转移写入副本

javascript - 无法读取 Sequelize Node js 中未定义的属性 'create'”错误

javascript - TypeError : usert. addItem 不是函数

node.js - Node js 中的响应失败。如何正确处理