복붙노트

[SPRING] 봄의 데이터를 MongoRepository와 쿼리 주석을 사용하는 동안 쿼리를 표시하는 방법

SPRING

봄의 데이터를 MongoRepository와 쿼리 주석을 사용하는 동안 쿼리를 표시하는 방법

나는 액세스 몽고 봄 부팅에 MongoRepository을 사용하고 있습니다 :

public interface MongoReadRepository extends MongoRepository<User, String> {
    @Query(value = "{$where: 'this.name == ?0'}", count = true)
    public Long countName(String name);
}

그것은 일할 수있는,하지만 난 정확히이 접근에 질의 몽고을 알고 있을까

그렇게하는 방법?

나는 다음과 같은 속성에서 일부 설정을 추가하려고 :

logging.level.org.springframework.data.mongodb.core.MongoTemplate=DEBUG
logging.level.org.springframework.data.mongodb.repository.Query=DEBUG

작동하지 않습니다.

누군가가 도움을 줄 수?

해결법

  1. ==============================

    1.나는 application.properties에 라인 (아래)를 추가하고 잘 작동 :

    나는 application.properties에 라인 (아래)를 추가하고 잘 작동 :

    logging.level.org.springframework.data.mongodb.core.MongoTemplate=DEBUG
    

    쿼리 :

    @Query("{$and: [{'$or' : [{ 'name': {$regex : ?0, $options: 'i'}}, {'description': {$regex : ?1, $options: 'i'}}]}, { 'deleted' : ?2 }]}")
    

    이 로그를 얻을 :

    2016-09-27 10:53:26.245 DEBUG 13604 --- [nio-9090-exec-3] o.s.data.mongodb.core.MongoTemplate      : find using query: { "$and" : [ { "$or" : [ { "name" : { "$regex" : "c" , "$options" : "i"}} , { "description" : { "$regex" : "c" , "$options" : "i"}}]} , { "deleted" : false}]} fields: null for class: class com.habber.domain.Entity in collection: entities
    
  2. ==============================

    2.또한, 당신은 YML 구성 파일을 사용하여 application.yml 파일에 넣을 수 있습니다.

    또한, 당신은 YML 구성 파일을 사용하여 application.yml 파일에 넣을 수 있습니다.

    logging:
      level:
        org.springframework.data.mongodb.core.MongoTemplate: DEBUG
    
  3. ==============================

    3.ReactiveMongo를 들어이 속성을 당신의 .properties 파일하기 위해 추가

    ReactiveMongo를 들어이 속성을 당신의 .properties 파일하기 위해 추가

    logging.level.org.springframework.data.mongodb.core.ReactiveMongoTemplate=DEBUG
    
  4. from https://stackoverflow.com/questions/37118047/how-to-show-query-while-using-query-annotations-with-mongorepository-with-spring by cc-by-sa and MIT license