【发布时间】:2019-03-14 10:12:13
【问题描述】:
我有一个集合,其中的文档有一个名为 _id 类型为 String 的字段,不是手动生成的。
我一直在尝试使用其 id 获取文档。
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...
我的文档是
data class MyDocument(val _id: String, val name: String)
试图通过另一个领域找到一个文档。
知道我可能缺少什么或解决方法吗?
【问题讨论】:
-
您能否以通过 mongo.exe 或 Robo3T 获取 JSON 文档的方式发布您的 JSON 文档?
标签: spring mongodb spring-boot kotlin spring-data-mongodb