如何使用mongo java driver

时间:2018-01-18 16:43:38

标签: java mongodb mongo-java mongo-java-driver

我想看看mongo java驱动程序产生了什么查询,但是我无法做到。

使用official documentation中的信息,我只能在日志中看到更新操作已执行,但我没有看到此操作的查询。

2 个答案:

答案 0 :(得分:2)

您可以将com.mongodb的记录器级别设置为DEBUG,您的Java驱动程序将发出如下详细记录:

2018-01-18 16:51:07|[main]|[NA]|INFO |org.mongodb.driver.connection|Opened connection [connectionId{localValue:2, serverValue:39}] to localhost:27017  
2018-01-18 16:51:07|[main]|[NA]|DEBUG|org.mongodb.driver.protocol.insert|Inserting 1 documents into namespace stackoverflow.sample on connection [connectionId{localValue:2, serverValue:39}] to server localhost:27017  
2018-01-18 16:51:07|[main]|[NA]|DEBUG|org.mongodb.driver.protocol.insert|Insert completed  
2018-01-18 16:51:07|[main]|[NA]|DEBUG|org.mongodb.driver.protocol.command|Sending command {find : BsonString{value='sample'}} to database stackoverflow on connection [connectionId{localValue:2, serverValue:39}] to server localhost:27017  
2018-01-18 16:51:07|[main]|[NA]|DEBUG|org.mongodb.driver.protocol.command|Command execution completed  
2018-01-18 16:51:07|[main]|[NA]|DEBUG|org.mongodb.driver.protocol.command|Sending command {findandmodify : BsonString{value='sample'}} to database stackoverflow on connection [connectionId{localValue:2, serverValue:39}] to server localhost:27017  
2018-01-18 16:51:07|[main]|[NA]|DEBUG|org.mongodb.driver.protocol.command|Command execution completed  

在上面的日志输出中,您可以看到客户端提交的查询的详细信息:

org.mongodb.driver.protocol.command|Sending command {find : BsonString{value='sample'}}

或者,您可以在服务器端启用profiling ...

db.setProfilingLevel(2)

...导致MongoDB探查器收集针对该数据库的所有操作的数据。

在启用了任何数据库分析的情况下,分析器输出(包括客户端提交的查询)将写入system.profile集合。

the docs中的更多详情,但简短摘要是:

// turn up the logging
db.setProfilingLevel(2)

// ... run some commands

// find all profiler documents, most recent first
db.system.profile.find().sort( { ts : -1 } )

// turn down the logging
db.setProfilingLevel(0)

答案 1 :(得分:0)

如果您使用的是Spring Boot 1.5.x(我在1.5.19上),则需要将org.mongodb:mongodb-driver的版本至少覆盖3.7.0,才能在日志。

有关更多详细信息,请参见此票证:https://jira.mongodb.org/browse/JAVA-2698