使用MySQL方言对与Sequelize的N:M关联进行重叠查询



给定以下Sequelize模型:

models.Post.belongsToMany(models.Tag, {
    through: models.PostTag,
    foreignKey: 'post_id',
    as: 'tags'
});
models.Tag.belongsToMany(models.Post, {
    through: models.PostTag,
    foreignKey: 'tag_id'
});

我可以查询一个标签为tag_id=2的帖子,如下所示:

models.Post.findAll({
    include: [{
        model: models.Tag,
        as: 'tags',
        where: {
            tag_id: 2
        }
    }]
})

现在,我想查询已经用以下所有标签(tag_id)标记的所有帖子:2、5、17、87(或任何其他标签集)。我使用MySQL作为DB方言。似乎存在一些可能实现这一点的运算符($overlap、$contains、$contained),但这些运算符可能是特定于PG的?

这目前是不可能的。Sequelize v3.13.0。

最新更新