排序:按关联过滤,不包括关联数据

时间:2019-02-19 19:59:28

标签: sequelize.js

我看到的所有示例,包括文档建议按关联过滤应使用以下语法

[contrived exampled]
User.findAndCountAll({
    include: [
        {
            model: models.Task,
            as: 'tasks',
            where: {
                status: 'complete'
            },
        },
    ],
})

但是这种样式将包括完成的任务。如果要按关联过滤而不包括关联记录怎么办?我不是在谈论事后使用toJSON。但在查询级别。

1 个答案:

答案 0 :(得分:1)

a)如果要查看用户至少具有一项任务,则可以删除(可选)WHERE子句。 b)如果不需要,可以隐藏任务属性(如下所示)。

   User.findAndCountAll({
       include: [
          {
          model: models.Task,
          required : true,      // INNER JOIN....
          attributes: []        // no task fields shown in result...
          }
       ]
   );