У меня есть запрос ниже, чтобы найти документ MongoDB, используя mongoTemplate. Это не возвращает никаких результатов, когда я ищу свою цель, используя Id.
Query query = new Query(Criteria.where("id").is(String.valueOf(targetId)));
mongoTemplate.findOne(query, Target.class));
Но запрос работает, когда я использую любые поля, кроме 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));