Ich verwende MongoRepository im Spring Boot, um auf Mongo zuzugreifen:
public interface MongoReadRepository extends MongoRepository<User, String> {
@Query(value = "{$where: 'this.name == ?0'}", count = true)
public Long countName(String name);
}
und es könnte funktionieren, aber ich frage mich, wie genau es auf Mongo zugreift
wie geht das?
Ich versuche, einige Konfigurationen bei Eigenschaften wie unten hinzuzufügen:
logging.level.org.springframework.data.mongodb.core.MongoTemplate=DEBUG
logging.level.org.springframework.data.mongodb.repository.Query=DEBUG
und funktionieren nicht.
könnte jemand helfen?
Ich füge die Zeile (unten) in application.properties hinzu und funktioniert gut:
logging.level.org.springframework.data.mongodb.core.MongoTemplate=DEBUG
zur Abfrage:
@Query("{$and: [{'$or' : [{ 'name': {$regex : ?0, $options: 'i'}}, {'description': {$regex : ?1, $options: 'i'}}]}, { 'deleted' : ?2 }]}")
erhalten Sie dieses Protokoll:
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
Lin
Sie können auch eine yml-Konfigurationsdatei verwenden und sie in Ihre Datei application.yml einfügen.
logging:
level:
org.springframework.data.mongodb.core.MongoTemplate: DEBUG
Fügen Sie für ReactiveMongo diese Eigenschaft zu Ihrer .properties-Datei hinzu
logging.level.org.springframework.data.mongodb.core.ReactiveMongoTemplate=DEBUG
Dies ist eine späte Antwort, aber ich habe festgestellt, dass die richtige Antwort aufgrund der Frage noch nicht gegeben wurde.
Die von den Personen bereits gegebene Antwort kann für andere Szenarien gültig sein. Aber wenn Sie die verwenden MongoRepository
dann wäre die richtige Konfiguration folgende:
logging.level.org.springframework.data.mongodb.repository.query= debug
Sie verwenden die Query
in Ihrer Konfiguration statt query
was falsch ist.
Wenn Sie die richtige Konfiguration hinzufügen, würde der Logger wie folgt aussehen:
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: {}
Ich denke, dass die vollständige Lösung laut @Wilder Valera und @Chaojun Zhong ist
Wenn Sie sich für MongoTemplate anmelden möchten, erhalten Sie die Antwort:
logging:
level:
org.springframework.data.mongodb.core.MongoTemplate: DEBUG
Wenn Sie sich für ReactiveMongoTemplate anmelden möchten, sollten Sie Folgendes verwenden:
logging.level.org.springframework.data.mongodb.core.ReactiveMongoTemplate=DEBUG
143095 0 0 cookie-check So zeigen Sie eine Abfrage an, während Sie Abfrageanmerkungen mit MongoRepository mit Federdaten verwenden yes