给定以下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。