You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 12:50:52