首页 文章

Spring Data MongoDb findById没有返回结果

提问于
浏览
0

我有一个Snozberry对象,如下所示:

{
  "id":"3cbdb746-561d-4e21-82e0-b7cfcad3a094",
  "thingId":"7cbfb7a6-763d-6ef1-271b-b2a0cfc2fa43",
  "stuffId":81,
  "bits":"WooHoo"
 }

Java类(为简洁省略了构造函数,getter和setter):

@Document(collection="Snozberry")
public class Snozberry {
 @Id
 private UUID id;
 private UUID thingId;
 private Long stuffId;
 private String bits;
}

存储库看起来像:

public interface SnozberryRepository extends MongoRepository<Snozberry,UUID>{
 Snozberry findByThingId(UUID Id);
 Snozberry findById(UUID id);
}

在MongoDb集合中,_id&thingId字段被定义为UUID . 我想返回与我传入的id值匹配的文档 .

我可以使用findAll()返回所有对象,我可以通过使用返回与thingId匹配的对象

Snozberry findByThingId(UUID id)

我的存储库中定义的方法,所以我知道它正在与数据库确定,并且它可以找到(非Id)UUID字段 .

我试过了默认值

findOne(UUID.fromString("3cbdb746-561d-4e21-82e0-b7cfcad3a094")

我还调用了存储库中定义的这个方法

Snozberry findById(UUID id)

但是这两个都返回null . 我错过了什么(感觉它应该是显而易见的) .

谢谢M.

1 回答

相关问题