본문 바로가기
Database/Prisma

[Prisma] @id @default(auto()) @map("_id") @db.ObjectId 의미

by 위그든씨 2023. 7. 15.

id             String    @id @default(auto()) @map("_id") @db.ObjectId​

이 문장의 의미

위의 코드는 Prisma ORM에서 데이터베이스 모델을 정의하는 부분입니다. 각 필드의 의미는 다음과 같습니다:

  • id: 데이터베이스에서 고유 식별자로 사용되는 필드입니다. String 타입으로 정의되어 있으며, @id 데코레이터를 통해 이 필드가 식별자임을 나타냅니다. @default(auto())는 이 필드의 기본값을 자동으로 생성하는 설정입니다.
  • @map("_id"): 해당 필드를 데이터베이스에서 "_id"라는 이름으로 매핑합니다. 일부 데이터베이스에서는 기본적으로 "_id"라는 이름의 필드를 사용하는데, Prisma에서는 이를 명시적으로 매핑하기 위해 사용됩니다.
  • @db.ObjectId: 이 필드가 MongoDB와 같은 NoSQL 데이터베이스에서 ObjectId로 사용되는 것을 나타냅니다. ObjectId는 고유한 식별자를 생성하는 데 사용되는 데이터베이스 별도의 형식입니다.

이렇게 정의된 id 필드는 Prisma 모델의 고유 식별자로 사용되며, 자동으로 생성되는 기본값을 가지고 있습니다. 이 필드는 MongoDB와 같은 NoSQL 데이터베이스에서 ObjectId로 매핑되어 사용됩니다.