Reputation: 2263
I Use Prisma (v5) to manipulate my Mongodb in NestJS application and can't understand how to calculate fields during DB entry creation.
What i'm looking for is some kind of onCreate/beforeUpdate
hook or anything else like that.
I have Order and want to calculate duration
field based on order.services
Order prisma scheme (simplified):
model Order {
id String @id @default(auto()) @map("_id") @db.ObjectId
duration Int
services String[] @db.ObjectId
}
Service prisma scheme (simplified):
model Service {
id String @id @default(auto()) @map("_id") @db.ObjectId
duration Int
}
My order service create method looks like this:
async create(data: Prisma.OrderCreateInput): Promise<Order> {
return this.prisma.order.create({
data,
})
}
How to calculate order.duration
during order creation/update?
The only idea I have is to fetch all the services before order is created and calculate it's value myself (in order create method, or even earlier on FE side)
But I'm looking for a better solution, as calculated field definition in Prisma scheme, or any oncreate/update hook etc...
Upvotes: 1
Views: 475