如何在将查询注释与带有弹簧数据的 MongoRepository 一起使用时显示查询

新手上路,请多包涵

我在 spring boot 中使用 MongoRepository 来访问 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

并且不工作。

有人可以帮忙吗?

原文由 genchilu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 346
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

原文由 Luis Costa 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题