java - 如何在使用带有 Spring 数据的 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

并且不工作。

有人可以帮忙吗?

最佳答案

我在 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

关于java - 如何在使用带有 Spring 数据的 MongoRepository 的查询注释时显示查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37118047/

相关文章:

mongodb - 维护 mgo session 的最佳实践

mongodb - 如何从 MongoDb 对象中删除属性?

node.js - 在 MongoDB 中删除时自动删除引用对象

c# - C#最成熟的MongoDB驱动是什么?

mongodb - MongoDB 设置的全文搜索选项

javascript - 如何在 meteor 应用程序中向 mongodb 添加两列唯一 ID?

node.js - mongoDB 是否有重新连接问题或者我做错了?

mongodb - 在聚合框架中给出完整时间戳时如何按日期聚合?

javascript - Nodejs/Express - 启动我的应用程序 : express.

node.js - Mongoose 对聚合结果进行排序