Sequelize.js Sequelize查询包含和逻辑
我有三个表格:Sequelize.js Sequelize查询包含和逻辑,sequelize.js,Sequelize.js,我有三个表格:Article、Tag和ArticleTag。一篇文章可以有多个标签,一个标签可以通过ArticleTag属于多篇文章标记具有名称属性 我想查询所有带有标签tag1和(tag2或tag3)和(tag4或tag5)的文章。 以下查询不起作用 Article.findAll({ where: {}, include: [ { model: Tag, where: { [Op
Article
、Tag
和ArticleTag
。一篇文章可以有多个标签,一个标签可以通过ArticleTag
属于多篇文章<代码>标记具有名称
属性
我想查询所有带有标签tag1
和(tag2
或tag3
)和(tag4
或tag5
)的文章。
以下查询不起作用
Article.findAll({
where: {},
include: [
{
model: Tag,
where: {
[Op.and]: [
{ name: 'tag1' },
{ name: { [Op.or]: ['tag2', 'tag3'] } },
{ name: { [Op.or]: ['tag4', 'tag5'] } },
]
}
}
]
})
我认为
拥有
和分组将获得预期的结果(请阅读下面代码中的注释):
对于更新的问题,只需在其中更改或阻止:
[Op.and]: [
{ name: 'tag1' },
{ name: { [Op.or]: ['tag2', 'tag3'] } },
{ name: { [Op.or]: ['tag4', 'tag5'] } },
]
谢谢你的回答,它回答了我的问题,但没有解决我的问题。也许我需要更新我的问题。有一个过滤器,它只接受带有两个不同标签的数据。在更新问题中,似乎很难确定这个数字(2)。
[Op.and]: [
{ name: 'tag1' },
{ name: { [Op.or]: ['tag2', 'tag3'] } },
{ name: { [Op.or]: ['tag4', 'tag5'] } },
]