Sequelize.js 如何从列中获取不包括某些行的行,这些行的Id保存在另一个表中

Sequelize.js 如何从列中获取不包括某些行的行,这些行的Id保存在另一个表中,sequelize.js,Sequelize.js,“blocked”表有两列,“userId”和“messageId”,这是表“messages”的外键 我想在过滤被阻止的消息后获取这些消息。我试过这个: messages.findAll({ where: { userId, }, include:[{ model: 'blocked', required: false attributes:[], where: {

“blocked”表有两列,“userId”和“messageId”,这是表“messages”的外键

我想在过滤被阻止的消息后获取这些消息。我试过这个:

messages.findAll({
    where: {
        userId,
    },
    include:[{
        model: 'blocked',
        required: false
        attributes:[],
        where: {
            userId,
        },
    }],
});

没用。有人能提出一个解决方案吗?

我将把这个问题分为两个问题

const blocked = await blocked.findAll({
    where: {
        userId,
        attributes: ['messageId']
    }
});

const blockedIds = blocked.map(b => b.messageId);

const messages = await messages.findAll({
    where: {
        id: { $notIn: blockedIds }
    }
});