【问题标题】:How do i store custom object in prisma schema?如何将自定义对象存储在 Prisma 模式中?
【发布时间】:2022-12-16 20:35:07
【问题描述】:

我有一个名为“设置”的模型

model Setup {
  id String @id @default(auto()) @map("_id") @db.ObjectId

  userId String? @unique @db.ObjectId
  user   User?   @relation(fields: [userId], references: [id])

  contract String[]
  legal    String[]

  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt
}

在这个模型中,我想存储一个数组

const contractData = {
    id: '729a4839f3dapob44zt2b4b1',
    name: 'Example Name',
    text: 'Example Text'
}

所以在我上面的模型“设置”中,我想存储合同数据

prisma.setup.create({
    data: {
      userId: '6399bc74426f71f2da6e316c',
      personal: [],
      contract: contractData,
      legal: []
    }
  })

不幸的是,这行不通。

我如何为合同定义一个对象并将其存储在我的数据库中?

【问题讨论】:

    标签: javascript nuxt.js prisma


    【解决方案1】:

    为了在合同字段中存储对象,您需要将合同字段的类型从 String[] 更改为 Object[]。

    model Setup {
      id String @id @default(auto()) @map("_id") @db.ObjectId
    
      userId String? @unique @db.ObjectId
      user   User?   @relation(fields: [userId], references: [id])
    
      contract Object[]
      legal    String[]
    
      createdAt DateTime @default(now())
      updatedAt DateTime @updatedAt
    }
    

    在合同字段中存储一个对象,例如

    prisma.setup.create({
      data: {
        userId: '6399bc74426f71f2da6e316c',
        personal: [],
        contract: [contractData],
        legal: []
      }
    })
    

    contract 字段现在是一个数组,因此您需要将对象作为数组的元素传递,例如[contractData]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-31
      • 2011-01-19
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多