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 pregunto cuál es la consulta exacta para acceder a mongo
¿como hacer eso?
Intento agregar alguna configuración 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 trabajo
alguien podria ayudar?
Agrego 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
-
asegúrese de haber importado log4j
– Luis Costa
27 de septiembre de 2016 a las 10:09
-
Incluso importé log4j y probé la misma solución, pero no me funciona
– Vishal A
22 de febrero de 2018 a las 15:51
-
elimine .MongoTemplate. Funciona como logging.level.org.springframework.data.mongodb.core
– Ryan_D
2 de julio de 2019 a las 20:56
Lin
Además, puede usar un archivo de configuración yml, ponerlo en su archivo application.yml.
logging:
level:
org.springframework.data.mongodb.core.MongoTemplate: DEBUG
Para ReactiveMongo agregue esta propiedad a su archivo .properties
logging.level.org.springframework.data.mongodb.core.ReactiveMongoTemplate=DEBUG
Esta es una respuesta tardía, pero encontré que aún no se ha dado la respuesta correcta en función de la pregunta.
La respuesta ya dada por la gente puede ser válida para otros escenarios. Pero, si está utilizando el MongoRepository
entonces la configuración correcta sería la siguiente:
logging.level.org.springframework.data.mongodb.repository.query= debug
estas usando el Query
en su configuración en lugar de query
Cuál está mal.
Cuando agrega la configuración correcta, el registrador sería como:
25-06-2020 17:58:43.301 [http-nio-9001-exec-10] DEBUG o.s.d.m.r.query.MongoQueryCreator.complete(162) - Created query Query: { "customer.id" : 2}, Fields: {}, Sort: {}
Creo que la solución completa está de acuerdo con @Wilder Valera y @Chaojun Zhong
Cuando desee iniciar sesión en MongoTemplate, la respuesta:
logging:
level:
org.springframework.data.mongodb.core.MongoTemplate: DEBUG
Cuando desee iniciar sesión en ReactiveMongoTemplate, debe usar:
logging.level.org.springframework.data.mongodb.core.ReactiveMongoTemplate=DEBUG