This is my model definition:
var Tag = sequelize.define(\'Tag\', {
name: Sequelize.STRING
});
var Event = sequelize.define(\'Event\', {
name: Sequelize.
replace in with $in
where : { id : { $in : [1,2,3,4]}}
in
property able to use at version 4.42
Tag.findAll({
where: { id: {in: [1,2,3,4]} }
}).then(...)
And you can use notIn
property for excluded values.
Tag.findAll({
where: { id: {notIn: [1,2,3,4]} }
}).then(...)
http://docs.sequelizejs.com/manual/querying.html#operators
I know this is hella old. But I'm pretty sure what you were looking for is as follows. At least one of these should do the trick. Probably both. I can't test at the moment because I'm in the middle of a 43-files-changed spaghetti code beast. I'll update with an actual test when I find the time.
(I'm posting now because all the rest seem to not actually answer the question asked, but they did answer the question I had when I arrived here.)
Event
.findAndCountAll({
include: [{model: Tag, as: 'tags'}],
where: {
tags: {
id: {in: [1,2,3,4]}
}
},
order: order,
limit: pageSize,
offset: pageSize * (page - 1),
})
.success(function(result) {
...
});
Event
.findAndCountAll({
include: [
{
model: Tag,
as: 'tags',
where: { id: {in: [1,2,3,4]} },
}
],
order: order,
limit: pageSize,
offset: pageSize * (page - 1),
})
.success(function(result) {
...
});
No need "in" property, sequelize auto define this. Just set array.
Tag.findAll({
where: {
id: [1,2,3,4]
}
}).then(...)
Updated example for Sequelize v5:
await Tag.findAll({
where: {
id: {
[Sequelize.Op.in]: [1, 2, 3, 4]
}
}
});