MongoDB _class 필드 제거하기

2019. 7. 9. 10:18·SpringBoot

MongoDB 사용시, SpringBoot 자동설정을 이용할 경우 아래와 같이 _class 에 Entity Class 의 package 정보가 함께 저장됩니다.

이 부분을 제거하기 위해서는 DefaultMongoTypeMapper 설정을 변경하면 됩니다.

{
  "_id" : NumberLong(112),
  "name" : "마샤",
  "tags" : [ 
    "여자캐릭터",
    "흑마법사"
  ],
  "_class" : "com.company.model.entity.Actor"
}

 

자동설정 소스코드 org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration 참고

@Bean
@ConditionalOnMissingBean({MongoConverter.class})
public MappingMongoConverter mappingMongoConverter(MongoDbFactory factory, MongoMappingContext context, MongoCustomConversions conversions) {
  DbRefResolver dbRefResolver = new DefaultDbRefResolver(factory);
  MappingMongoConverter mappingConverter = new MappingMongoConverter(dbRefResolver, context);
  mappingConverter.setCustomConversions(conversions);
  return mappingConverter;
}

 

변경 후 ( 설정 추가: mappingConverter.setTypeMapper(new DefaultMongoTypeMapper(null)); )

@Configuration
public class MongoConfiguration {
  @Bean
  @ConditionalOnMissingBean(MongoConverter.class)
  public MappingMongoConverter mappingMongoConverter(MongoDbFactory factory,
                                                   MongoMappingContext context, MongoCustomConversions conversions) {
    DbRefResolver dbRefResolver = new DefaultDbRefResolver(factory);
    MappingMongoConverter mappingConverter = new MappingMongoConverter(dbRefResolver, context);
    mappingConverter.setCustomConversions(conversions);
    mappingConverter.setTypeMapper(new DefaultMongoTypeMapper(null));
    return mappingConverter;
    }
}

'SpringBoot' 카테고리의 다른 글

Spring 6 의 HTTP Interface  (0) 2023.03.14
Retrying Feign Calls  (0) 2023.03.14
RedisTemplate 과 Json Serializer 설정  (0) 2019.07.09
restful json request response 패킷 로깅 필터  (1) 2019.07.04
404 NoHandlerFoundException 설정  (1) 2019.07.04
'SpringBoot' 카테고리의 다른 글
  • Retrying Feign Calls
  • RedisTemplate 과 Json Serializer 설정
  • restful json request response 패킷 로깅 필터
  • 404 NoHandlerFoundException 설정
somoly
somoly
About me.
  • somoly
    somoly.tistory.com
    somoly
  • 전체
    오늘
    어제
    • 전체 (55)
      • SpringBoot (8)
      • Kotlin (5)
      • Javascript (4)
      • 백엔드 (6)
      • Linux (25)
      • Windows (1)
      • IT (2)
      • FF14 (1)
      • 애니 (1)
      • Figure (1)
      • 회사생활 (1)
  • 블로그 메뉴

    • HOME
    • TAGS
    • MEDIA
    • LOCATION
    • GUESTBOOK
    • ADMIN
    • WRITE
  • 링크

    • [FF14] 5.0 (71-80) 제작 레벨링 매크로
    • [FF14] 갈론드벨
    • [FF14] FFLogs
    • [FF14] Ariyala 장비 시뮬레이터
    • [FF14] 낚시 도우미
    • [FF14] 인테리어 정보
    • [FF14] 의상 코디 정보
  • 공지사항

  • 인기 글

  • 태그

    P2P
    tabulator
    utf-8
    HTTP
    77인치
    accesskey
    종료
    Kotlin
    우분투
    string methods
    ubuntu
    Spring
    linux
    설치
    javascript
    83인치
    springboot
    부팅
    bcmod
    30일전
    jvminline
    exchage method
    VirtualBox
    리눅스
    피규어
    dynamodb local
    최후의 재림
    동영상
    versioncomapre
    interactive table
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
somoly
MongoDB _class 필드 제거하기
상단으로

티스토리툴바