字段和类型
本节介绍您可以与 Prisma 客户端一起使用的各种特殊字段和类型。
使用 Decimal
Decimal
字段由 Decimal.js
库 表示。以下示例演示了如何导入和使用 Prisma.Decimal
import { PrismaClient, Prisma } from '@prisma/client'
const newTypes = await prisma.sample.create({
data: {
cost: new Prisma.Decimal(24.454545),
},
})
info
目前在 MongoDB 不支持使用 Decimal
字段。
使用 BigInt
BigInt
字段由 BigInt
类型(需要 Node.js 10.4.0+)表示。以下示例演示了如何使用 BigInt
类型
import { PrismaClient, Prisma } from '@prisma/client'
const newTypes = await prisma.sample.create({
data: {
revenue: BigInt(534543543534),
},
})
序列化 BigInt
Prisma 客户端将记录返回为纯 JavaScript 对象。如果您尝试对包含 BigInt
字段的对象使用 JSON.stringify
,您将看到以下错误
Do not know how to serialize a BigInt
要解决此问题,请使用 JSON.stringify
的自定义实现
JSON.stringify(
this,
(key, value) => (typeof value === 'bigint' ? value.toString() : value) // return everything else unchanged
)
使用 Bytes
Bytes
字段由 Buffer
类型表示。以下示例演示了如何使用 Buffer
类型
import { PrismaClient, Prisma } from '@prisma/client'
const newTypes = await prisma.sample.create({
data: {
myField: Buffer.from([1, 2, 3, 4]),
},
})
使用 Json
参见:使用 Json
字段
使用标量列表/标量数组
参见:使用标量列表/数组