Mysql 继续查询以获取不在关联中的记录

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: {

有两个表userMedium和medium。媒体有许多用户媒体。对于用户,希望获取userMedia中未包含的介质记录。使用Sequelize库,它的实现方式如下:

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']
});