使用Prisma向MongoDB插入对象数组报错,疑模型定义有误
解决Prisma向MongoDB插入对象数组的报错问题
你的问题核心在于Prisma模型定义错误:你把csso字段定义成了String[](字符串数组),但实际要插入的是包含image、name、desc的对象数组,类型完全不匹配,所以触发了报错。
正确的Prisma模型定义
需要先定义一个嵌入式类型来描述数组内的对象结构,再将csso设为该类型的数组:
model Products { id String @id @default(auto()) @map("_id") @db.ObjectId csso ProductItem[] } // 定义数组中每个对象的结构 type ProductItem { image String name String desc String }
修正后的插入代码
你的插入逻辑本身没问题,模型匹配后直接使用原代码即可:
const addProd = await prisma.products.create({ data: { csso: [ { image: req.file.filename, name: req.body.name, desc: req.body.desc } ] } })
必要操作
修改模型后,务必重新生成Prisma客户端,执行以下命令:
npx prisma generate
内容的提问来源于stack exchange,提问作者Parzival
相关产品推荐
相关产品推荐

