Next.js中Prisma Studio无法创建Post的问题求助
解决Prisma Studio创建Post到MongoDB失败的问题
问题根源
你的Post模型与User、Category是强制关联关系,创建Post时必须通过connect参数关联已存在的User和Category记录,但操作时要么未填写Category的id/slug,要么User的connect参数为空,导致Prisma无法通过关联校验。
快速解决步骤
先创建关联依赖记录
打开Prisma Studio,先进入User页面创建至少一个用户,再进入Category页面创建至少一个分类(确保分类的slug字段填写且唯一)。正确填写Post的关联参数
创建Post时:- 对于
category字段,选择connect选项,填写该分类的id(MongoDB生成的ObjectId字符串)或slug值(schema中slug是唯一约束,Prisma支持通过唯一字段关联) - 对于
author字段,同样选择connect选项,填写已创建用户的id值,不能留空
- 对于
进阶:允许创建Post时同时新建关联记录
如果不想每次提前创建User/Category,可以修改schema.prisma,让关联字段支持嵌套创建:
model Post { id String @id @default(auto()) @map("_id") @db.ObjectId title String content String? author User @relation(fields: [authorId], references: [id]) authorId String @db.ObjectId category Category @relation(fields: [categoryId], references: [id]) categoryId String @db.ObjectId }
修改后重新运行npx prisma generate,再打开Prisma Studio,创建Post时就能选择Create选项,直接在创建Post的同时新建对应的User或Category记录。
内容的提问来源于stack exchange,提问作者NASEER ULLAH
相关产品推荐
相关产品推荐

