メインコンテンツへスキップ

JavaScriptとMongoDBを使ってPrismaスキーマを作成する

Prismaスキーマを更新する

`prisma/schema.prisma` ファイルを開き、デフォルトの内容を以下に置き換えてください

prisma/schema.prisma
datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}

generator client {
provider = "prisma-client-js"
}

model Post {
id String @id @default(auto()) @map("_id") @db.ObjectId
slug String @unique
title String
body String
author User @relation(fields: [authorId], references: [id])
authorId String @db.ObjectId
comments Comment[]
}

model User {
id String @id @default(auto()) @map("_id") @db.ObjectId
email String @unique
name String?
address Address?
posts Post[]
}

model Comment {
id String @id @default(auto()) @map("_id") @db.ObjectId
comment String
post Post @relation(fields: [postId], references: [id])
postId String @db.ObjectId
}

// Address is an embedded document
type Address {
street String
city String
state String
zip String
}

また、PostgreSQLのようなリレーショナルデータベースと比較すると、スキーマの設定方法にはいくつかの微妙な違いがあります。

たとえば、基になる`ID`フィールド名は常に`_id`であり、`@map("_id")`でマッピングする必要があります。

詳細については、MongoDBスキーマ参照をご覧ください。

© . All rights reserved.