본문 바로가기
개발 프레임워크/Mongoose, TypeGoose

[Typegoose] 하위 개체의 _id를 없애는 방법, @prop({ _id: false})

by minhyeok.lee 2023. 3. 3.
반응형

Typegoose에서 하위 개체의 _id를 없애는 방법은 @prop({ _id: false})이다.

 

예시 클래스의 구성은 다음과 같다.

export class UserInfo {
  @ApiProperty({ type: Date })
  @IsDateString()
  @IsOptional()
  @prop()
  playTime?: Date;

  @prop({ type: () => userStrongInfo, _id: false })
  @ApiProperty()
  @IsDefined()
  @Type(() => userStrongInfo)
  public userPower: userStrongInfo;

  @prop({ type: () => userBaseInfo, _id: false })
  @ApiProperty({ description: '사용자 기본정보' })
  @IsDefined()
  @Type(() => userBaseInfo)
  public userBase: userBaseInfo;
}

L8, L15에서 @prop에 _id:flase를 넣어주거나 빼주는 것으로 하위 개체의 _id생성 여부를 결정할 수 있다.

 

클래스 안에 다른 클래스를 속성으로 선언하고 싶을 때, Typegoose에서 @prop에 _id: false를 사용하지 않은 예)

클래스 안에 다른 클래스를 속성으로 선언하고 싶을 때, Typegoose에서 @prop에 _id: false를 사용하지 않고 저장된 사진
클래스 안에 다른 클래스를 속성으로 선언하고 싶을 때, Typegoose에서 @prop에 _id: false를 사용하지 않고 저장된 사진

자기 자신의 _id를 제외하고 userPower와 userBase도 _id를 가지고 있다.

 

 

클래스 안에 다른 클래스를 속성으로 선언하고 싶을 때, Typegoose에서 @prop에 _id: false를 사용한 예)

클래스 안에 다른 클래스를 속성으로 선언하고 싶을 때, Typegoose에서 @prop에 _id: false를 사용하여 저장된 사진
클래스 안에 다른 클래스를 속성으로 선언하고 싶을 때, Typegoose에서 @prop에 _id: false를 사용하여 저장된 사진

자기 자신의 _id만을 가지고 있다.

반응형

댓글