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

在Prisma ORM的MongoDB Schema中使用Integer类型遇问题

解决Prisma MongoDB模型类型报错问题

问题原因

Prisma针对MongoDB的字段类型不能直接使用Integer、Date这类SQL风格的内置类型,因为MongoDB的BSON类型系统与关系型数据库不同,必须通过@db.xxx注解显式指定对应的MongoDB原生类型。

正确类型映射示例

修改你的Event模型,使用Prisma兼容的内置类型配合MongoDB专属注解:

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mongodb"
  url      = env("DATABASE_URL")
}

model Event {
  id        String    @id @default(auto()) @map("_id") @db.ObjectId
  EventId   Int       @unique @db.Int32 // 映射MongoDB Int32类型,如需长整数用@db.Long
  createdAt DateTime  @db.DateTime // 映射MongoDB Date类型
  metadata  Json      @db.Object // 映射MongoDB BSON对象类型
}

关键类型对应说明

  • 整数类型:用Prisma内置Int,配合@db.Int32(32位整数)或@db.Long(64位长整数)
  • 日期类型:用Prisma内置DateTime,配合@db.DateTime映射MongoDB原生Date
  • 对象类型:用Prisma内置Json,配合@db.Object映射MongoDB的BSON对象

执行npx prisma generate即可正常生成客户端代码。

内容的提问来源于stack exchange,提问作者nicb

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 13:57:19