【发布时间】:2019-10-10 09:55:27
【问题描述】:
我有以下查询来使用 mongoTemplate 查找 MongoDB 文档。 当我使用 ID 搜索我的目标时,这不会返回任何结果。
Query query = new Query(Criteria.where("id").is(String.valueOf(targetId)));
mongoTemplate.findOne(query, Target.class));
但是当我使用除 ID 之外的任何字段时,查询有效。有人可以帮助我使用 ID 来解决这个问题。
目标类
@Data
@Document
public class Target {
@Id
private String id;
/**
* Name of the target
*/
private String name;
}
数据库文档。
{
"_id" : "5290d748e4",
"name" : "Test Target"
}
按名称查询工作正常。
Query query = new Query(Criteria.where("name").is("Test Target"));
mongoTemplate.findOne(query, Target.class));
【问题讨论】:
标签: java mongodb spring-boot mongo-java mongo-java-driver