带有Spring数据的MongoDB-来自驱动程序的重复查询
在执行简单查询时,我有一个重复的查询。文件: SomeClass.java:带有Spring数据的MongoDB-来自驱动程序的重复查询,mongodb,spring-data,spring-data-mongodb,Mongodb,Spring Data,Spring Data Mongodb,在执行简单查询时,我有一个重复的查询。文件: SomeClass.java: @Document(collection = "someCollection") public class SomeClass { private String _id; private String someField; //... } SomeClassRepository.java: @Repository public interface SomeClassRepository e
@Document(collection = "someCollection")
public class SomeClass {
private String _id;
private String someField;
//...
}
SomeClassRepository.java:
@Repository
public interface SomeClassRepository extends MongoRepository<SomeClass, String> {
}
application.properties:
logging.level.org.springframework.data.mongodb.core.MongoTemplate=DEBUG
日志文件:
14:14:46.514 [qtp1658534033-19] DEBUG o.s.data.mongodb.core.MongoTemplate - findOne using query: { "_id" : "40c23743-afdb-45ca-9231-c467f8e8b320"} fields: null for class: class com.somepackage.SomeClass in collection: someCollection
14:14:46.534 [qtp1658534033-19] DEBUG o.s.data.mongodb.core.MongoTemplate - findOne using query: { "_id" : "40c23743-afdb-45ca-9231-c467f8e8b320"} in db.collection: someDatabase.someCollection
我还试图:
1将@Id注释与名为someId的字段一起使用
2将@Id注释与名为Id的字段一起使用
3使用名为id的字段,不带@id注释
不幸的是,我对数据库总是有两个查询
有人知道如何执行单个查询吗
谢谢 它是唯一一个发送到数据库的查询。您的日志消息来自两个不同的地方 第一名:doFindOne方法-;第二名: FindOneCallback类- 您还可以通过查看数据库日志来确认日志。更多信息
14:14:46.514 [qtp1658534033-19] DEBUG o.s.data.mongodb.core.MongoTemplate - findOne using query: { "_id" : "40c23743-afdb-45ca-9231-c467f8e8b320"} fields: null for class: class com.somepackage.SomeClass in collection: someCollection
14:14:46.534 [qtp1658534033-19] DEBUG o.s.data.mongodb.core.MongoTemplate - findOne using query: { "_id" : "40c23743-afdb-45ca-9231-c467f8e8b320"} in db.collection: someDatabase.someCollection