spring 数据 mongodb 按集合查找
spring data mongodb find by collection
我正在使用 spring-data-mongodb.
这是我的控制器方法:
控制器:
@RequestMapping(value = "/getByCategory",method = RequestMethod.GET, consumes=MediaType.APPLICATION_JSON, produces=MediaType.APPLICATION_JSON)
public Iterable<Node> getByCategory(@RequestParam(value="categories") List<String> categories) throws EntityNotFoundException {
Iterable<Node> nodes = nodeService.getByCategory(categories);
return nodes;
}
这里我将字符串列表作为请求参数传递。
我的服务方式是:
public Iterable<Node> getByCategory(List<String> categories) {
return repository.findByCategories(categories);
}
存储库代码:
@RepositoryRestResource
public interface NodeRepository extends MongoRepository<Node, String> , PagingAndSortingRepository<Node, String>{
@Query("{categories:{$in: ?0}}")
Iterable<Node> findByCategories(List<String> categories);
}
在这里,我在存储库中的查询总是returns 空数组[]。
我没有明白这个查询有什么问题。
我的要求URL是:
http://localhost:8080/document/getByCategory?categories="category1"&categories="category2"
我认为问题出在您的 url 上。尝试删除引号。
http://localhost:8080/document/getByCategory?categories=category1&categories=category2
我正在使用 spring-data-mongodb.
这是我的控制器方法:
控制器:
@RequestMapping(value = "/getByCategory",method = RequestMethod.GET, consumes=MediaType.APPLICATION_JSON, produces=MediaType.APPLICATION_JSON)
public Iterable<Node> getByCategory(@RequestParam(value="categories") List<String> categories) throws EntityNotFoundException {
Iterable<Node> nodes = nodeService.getByCategory(categories);
return nodes;
}
这里我将字符串列表作为请求参数传递。
我的服务方式是:
public Iterable<Node> getByCategory(List<String> categories) {
return repository.findByCategories(categories);
}
存储库代码:
@RepositoryRestResource
public interface NodeRepository extends MongoRepository<Node, String> , PagingAndSortingRepository<Node, String>{
@Query("{categories:{$in: ?0}}")
Iterable<Node> findByCategories(List<String> categories);
}
在这里,我在存储库中的查询总是returns 空数组[]。 我没有明白这个查询有什么问题。
我的要求URL是:
http://localhost:8080/document/getByCategory?categories="category1"&categories="category2"
我认为问题出在您的 url 上。尝试删除引号。
http://localhost:8080/document/getByCategory?categories=category1&categories=category2