java - mongotemplate - cómo mostrar la consulta mientras se usan las anotaciones de consulta con MongoRepository con datos de primavera
spring boot mongodb java configuration (3)
Estoy usando MongoRepository en Spring Boot para acceder a mongo:
public interface MongoReadRepository extends MongoRepository<User, String> {
@Query(value = "{$where: ''this.name == ?0''}", count = true)
public Long countName(String name);
}
y podría funcionar, pero me gustaría saber la consulta exacta al acceder a Mongo
¿como hacer eso?
Intento agregar algunas configuraciones en propiedades como las siguientes:
logging.level.org.springframework.data.mongodb.core.MongoTemplate=DEBUG
logging.level.org.springframework.data.mongodb.repository.Query=DEBUG
y no trabajes
alguien podria ayudar?
Para ReactiveMongo agregue esta propiedad a su archivo .properties
logging.level.org.springframework.data.mongodb.core.ReactiveMongoTemplate=DEBUG
También puede usar un archivo de configuración yml, póngalo en su archivo application.yml.
logging:
level:
org.springframework.data.mongodb.core.MongoTemplate: DEBUG
Añado la línea (abajo) en application.properties y funciona bien:
logging.level.org.springframework.data.mongodb.core.MongoTemplate=DEBUG
para consulta:
@Query("{$and: [{''$or'' : [{ ''name'': {$regex : ?0, $options: ''i''}}, {''description'': {$regex : ?1, $options: ''i''}}]}, { ''deleted'' : ?2 }]}")
obtener este registro:
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