【发布时间】:2022-01-27 03:48:10
【问题描述】:
我有以下模型,以及它们之间的多对多关系:
model User {
id String @id @default(cuid())
name String?
email String? @unique
followings Artist[]
}
model Artist {
id String @id @default(cuid())
name String @unique
spotifyId String @unique
followers User[]
}
当用户登录我的应用时,我会检索他们当前关注的艺术家,并且需要更新我的数据库。
我已设法从数据库中选择艺术家数据(用于更新用户 艺术家关系),示例数据:
const followings = [
{
id: '...',
name: 'MARINA',
spotifyId: '6CwfuxIqcltXDGjfZsMd9A'
},
{
id: '...',
name: 'Dua Lipa',
spotifyId: '6M2wZ9GZgrQXHCFfjv46we'
},
]
现在,这是我的用户对象:
const user = {
id: 'someId',
name: 'someName',
email: 'someEmail'
}
我尝试使用此查询插入或更新用户 艺术家关系,但我收到 Bad Request 错误:
await prisma.user.upsert({
where: {
email: user.email
},
create: {
name: user.name,
email: user.email,
followings: {
connectOrCreate: followings
}
},
update: {
followings: {
connectOrCreate: followings
}
}
})
请告知我需要做什么。提前致谢。
附:我从Updating a many-to-many relationship in Prisma 帖子中获取了查询的想法,但它对我不起作用,所以请不要标记重复。
【问题讨论】:
标签: sql many-to-many prisma