Как показать запрос при использовании аннотаций запросов с помощью MongoRepository с данными spring
Я использую MongoRepository в spring для доступа к mongo:
public interface MongoReadRepository extends MongoRepository<User, String> {
@Query(value = "{$where: 'this.name == ?0'}", count = true)
public Long countName(String name);
}
и это может сработать, но мне интересно узнать, как именно он запрашивает mongo
как это сделать?
Я пытаюсь добавить некоторую конфигурацию в свойствах, как показано ниже:
logging.level.org.springframework.data.mongodb.core.MongoTemplate=DEBUG
logging.level.org.springframework.data.mongodb.repository.Query=DEBUG
и не работают.
может кто-нибудь помочь?
Ответы
Ответ 1
Я добавляю строку (ниже) в 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
Также вы можете использовать конфигурационный файл yml, поместив его в свой файл application.yml.
logging:
level:
org.springframework.data.mongodb.core.MongoTemplate: DEBUG
Ответ 3
Для ReactiveMongo добавьте это свойство в ваш .properties файл
logging.level.org.springframework.data.mongodb.core.ReactiveMongoTemplate=DEBUG