प्रिज्मा संबंध डेटाबेस और डेटा प्रबंधन के साथ एक बड़ी समस्या का समाधान करते हैं।
मान लीजिए कि आपके ऐप में उपयोगकर्ताओं की एक सूची है, जो ट्वीट्स बनाते हैं (ट्विटर की कल्पना करें)।
अपने स्कीमा में आप उन 2 संस्थाओं के बीच के संबंध को इस प्रकार परिभाषित कर सकते हैं:
model Tweet {
id Int @id @default(autoincrement())
text String
author User @relation(fields: [authorId], references: [id])
authorId Int
}
model User {
id Int @default(autoincrement()) @id
tweets Tweet[]
}
जब आप कोई नया ट्वीट बनाते हैं तो आप उसे 1
. आईडी वाले उपयोगकर्ता के साथ जोड़ते हैं इस तरह:
await prisma.tweet.create({
data: {
text: req.body.content,
author: {
connect: { id: 1 }
}
}
})
फिर जब आप एक ट्वीट प्राप्त करते हैं, तो आप लेखक की जानकारी प्राप्त कर सकते हैं:
await prisma.tweet.findMany({
include: {
author: true
}
})
आप एक उपयोगकर्ता भी बना सकते हैं और उससे जुड़े 2 ट्वीट्स के साथ डेटाबेस को पॉप्युलेट कर सकते हैं:
await prisma.user.create({
data: {
tweets: {
create: [
{ text: 'test' },
{ text: 'test2' },
]
}
}
})