按列和关联记录的列对查询表进行排序

时间:2019-07-31 19:16:59

标签: javascript postgresql typescript sequelize.js

我正在尝试查询与确切数量的艺术家相关的音乐专辑。

我使用多对多表正确地关联了模型,但是我的查询无法完成我想做的事情。

    albumArtists = albumArtists.map((artist) => {
        return artist.id;
    });

   const album = await DB.Album.findOne({
        where: {
            name: albumName,
        },
        include: [
            {
                model: DB.Artist,
                through: {
                    where: {
                        artistId: {
                            [Op.and]: albumArtists
                        }
                    }
                }
            },
        ],
    });

我正在尝试查询name设置为albumName的相册,并且将albumArtistsartistIdalbumArtists中的所有匹配内容相关联。

我尝试在where对象之外设置through子句,但这似乎也不起作用。

1 个答案:

答案 0 :(得分:0)

尝试通过此方法进行更新:

through: { model: DB.AlbumArtists // write correct model name }

您还可以简化条件:

where: { artistId: albumArtists }