У меня есть коллекция с документами, имеющими поле с именем _id
типа String
, не сгенерированное вручную.
Я пытался получить документ, используя его идентификатор.
val criteria = Criteria.where("_id").`is`("a2z3e44R")
val document = mongoTemplate.findOne(Query.query(criteria), MyDocument::class.java) // returns null
val criteria = Criteria.where("_id").`is`(ObjectId("a2z3e44R"))
val document = mongoTemplate.findOne(Query.query(criteria), MyDocument::class.java) // returns null
val document = mongoTemplate.findById("a2z3e44R", MyDocument::class.java) // returns null
mongoTemplate.findAll(MyDocument::class.java).first { myDocument ->
myDocument._id == "a2z3e44R"
} // OK...
MyDocument - это
data class MyDocument(val _id: String, val name: String)
Попытка найти документ с помощью другого поля работает.
Идея о том, что я мог упустить или обойти?