我在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
却不起作用。
有人能帮忙吗?
6条答案
按热度按时间xqkwcwgp1#
我在www.example.com中添加了下面这行代码application.properties,运行良好:
用于查询:
获取此日志:
4urapxun2#
另外,你可以使用一个yml配置文件,把它放在你的应用程序.yml文件中。
q0qdq0h23#
对于ReactiveMongo,将此属性添加到.properties文件
kq0g1dla4#
这是一个迟来的答案,但我发现正确的答案还没有给出的基础上的问题。
人们已经给出的答案可能适用于其他情况。但是,如果您使用的是
MongoRepository
,则正确的配置如下:您在配置中使用的是
Query
,而不是错误的query
。添加正确的配置后,记录器将如下所示:
llycmphe5#
我认为完整的解决方案是根据@怀尔德瓦莱拉和@Chaojun Zhong
当你想登录MongoTemplate的答案:
当您想要记录ReactiveMongoTemplate时,您应该用途:
t3psigkw6#
建议的解决方案是有效的,但是如果你使用
@DocumentReference
,你可能会注意到N+1个查询不会出现在日志中。如果要了解是否查询了引用的集合,请添加以下属性: