我有一个模型叫“设置”
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'
}
因此,在我的上述模型“Setup”中,我希望存储contractData
prisma.setup.create({
data: {
userId: '6399bc74426f71f2da6e316c',
personal: [],
contract: contractData,
legal: []
}
})
不幸的是,这不起作用。
我如何定义合同对象并将其存储在数据库中?
2条答案
按热度按时间disho6za1#
如果你想存储一个原始的JSON,请参考这个指南:https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields
为了能够存储一个原始JSON对象(或多个JSON对象作为一个数组),您将需要在Prisma中使用
Json
。您的Prisma
prisma.setup.create
查询基本上是完全相同的。请注意,查询此JSON中的内容会比较棘手-我建议创建一个新模型,然后将其连接到Setup
模型,但如果这不是一个选项,您仍然可以对contract
字段执行一些有限的查询。文件:https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filter-on-a-json-field
2wnc66cl2#
为了在合同字段中存储对象,您需要将合同字段的类型从String[]更改为Object[]。
在合同字段中存储对象,如
contract
字段现在是一个数组,因此需要将对象作为数组的元素传递,如[contractData]