gpt4 book ai didi

mysql - 序列化查询以获取不在关联中的记录

转载 作者:行者123 更新时间:2023-11-29 03:21:31 26 4
gpt4 key购买 nike

有两个表 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 版本是否支持此功能,但在文档中解释了 how to use eager loaded models in top level where clause .

以下代码段利用了预先加载,应该适合您。

const media = await Medium.findAll({
where: { '$UserMedium.userId$': userId },
include: ['UserMedium']
});

关于mysql - 序列化查询以获取不在关联中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43749066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com