【发布时间】:2021-08-26 19:25:28
【问题描述】:
我有这个存储库功能:
public interface CommunityRepository extends MongoRepository<Community,String> {
@Query(value="{ 'builder_id' : 1}", fields="{ 'name' : 1, 'description' : 1, 'slogan' : 1, 'address' : 1, 'numberOfHouses' : 1}")
List<Community> findAllByBuilderId(List<String> builderId);
}
这是我从服务中调用它的方式:
List<String> builderId = new ArrayList<String>();
builderId.add("6127db1d94ae73194a990444");
builderId.add("5f9852ce93834b1fc01f6573");
builderId.add("602db8e7b05b804313f9ft67");
List<Community> communities = underTest.findAllByBuilderId(builderId);
这里是社区类:
@Data
@Document("communities")
@Slf4j
public class Community {
@Id
private String id = null;
@NotBlank(message = "Must not be blank")
@Size(max = 50, message = "Max length is 50 characters")
private String name;
@Size(max = 400, message = "Max length is 200 characters")
private String description;
private List<String> tags;
@Field("builder_id")
@Pattern(regexp = "[a-fA-F0-9]{24}", message = "Wrong id format")
private String builderId;
}
社区列表始终为空,但有一些项目与 builder id 相关联。
知道为什么社区列表总是空的吗?
【问题讨论】:
-
您的查询完全没有参数化。
标签: java spring mongodb spring-repositories mongorepository