Java spring数据mongodb findByIdIn
我有以下数据模型Java spring数据mongodb findByIdIn,java,mongodb,spring-data,spring-data-mongodb,Java,Mongodb,Spring Data,Spring Data Mongodb,我有以下数据模型 @Document public class FormDocument { @Id private String id; private LocalDateTime createTimestamp; ... } 和spring数据存储库接口 public interface FormRepository extends MongoRepository<FormDocument, String> { List<FormD
@Document
public class FormDocument
{
@Id
private String id;
private LocalDateTime createTimestamp;
...
}
和spring数据存储库接口
public interface FormRepository extends MongoRepository<FormDocument, String>
{
List<FormDocument> findByIdIn(List<String> ids, Pageable pageable);
}
公共接口FormRepository扩展了MongoRepository
{
列表findByIdIn(列表ID,可分页);
}
但findByIdIn方法返回一个空列表,即使mongodb中存在ID。我已经对文档中的其他字段测试了findbyxxin(),它们都可以正常工作。但当涉及到文档id时,它并没有
这是我第一次使用mongodb,但我熟悉spring数据jpa
我知道
Iterable<T> findAll(Iterable<ID> ids);
Iterable findAll(Iterable id);
但我还需要对结果应用分页,因此对我的情况没有帮助
我尝试使用@Query(带有in查询),也尝试了List
而不是List
,但没有成功
那么我遗漏了什么呢?这可能是因为id变量没有映射到_idkey。请验证导入 用@Id(org.springframework.data.annotation.Id)注释的字段将映射到“\u Id”字段
没有注释但命名id的字段将映射到“\u id”字段。这可能是因为id变量未映射到\u id键。请验证导入 用@Id(org.springframework.data.annotation.Id)注释的字段将映射到“\u Id”字段
没有注释但命名id的字段将映射到“\u id”字段。您的要求是什么??您希望通过传递Id来获取FormDocument,对吗?或者一次将传递多个id???@pvpkiran内部id将映射到_id。在数据库中,它存储为_id,但spring应处理转换。我还有一些其他的存储库方法,可以读取单个或多个表单文档。我可以看到结果中设置的id字段。@MehrajMalik我想通过提供表单id列表来获取表单文档列表。我也希望能够分页。对我来说很好。你能从你的集合中添加一些你希望查询返回的文档,以及列表和页面参数的输入值吗?你的要求是什么??您希望通过传递Id来获取FormDocument,对吗?或者一次将传递多个id???@pvpkiran内部id将映射到_id。在数据库中,它存储为_id,但spring应处理转换。我还有一些其他的存储库方法,可以读取单个或多个表单文档。我可以看到结果中设置的id字段。@MehrajMalik我想通过提供表单id列表来获取表单文档列表。我也希望能够分页。对我来说很好。是否可以从集合中添加两个文档,这些文档是您希望查询返回的,以及list和pageble参数的输入值?导入看起来不错。导入看起来不错。