Mysql 继续查询以获取不在关联中的记录
有两个表userMedium和medium。媒体有许多用户媒体。对于用户,希望获取userMedia中未包含的介质记录。使用Sequelize库,它的实现方式如下:Mysql 继续查询以获取不在关联中的记录,mysql,node.js,sequelize.js,Mysql,Node.js,Sequelize.js,有两个表userMedium和medium。媒体有许多用户媒体。对于用户,希望获取userMedia中未包含的介质记录。使用Sequelize库,它的实现方式如下: const um = await Models.UserMedium.findAll({ where: {userId}, attributes: ['mediumId'] }), media = await Models.Medium.findAll({ where: {
const um = await Models.UserMedium.findAll({
where: {userId},
attributes: ['mediumId']
}),
media = await Models.Medium.findAll({
where: {
id: {
$notIn: _.pluck(um, 'mediumId')
}
}
});
想知道有没有更好的方法通过使用“急切加载”来运行查询?我不确定您使用的Sequelize版本是否支持这一点,但文档中对此进行了解释 下面的代码利用了急切加载,应该适合您
const media = await Medium.findAll({
where: { '$UserMedium.userId$': userId },
include: ['UserMedium']
});