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参数的输入值?导入看起来不错。导入看起来不错。