Как получить предметы по определенному параметру? - PullRequest
0 голосов
/ 03 января 2019

Я недавно работал с MongoDB и с spring-data, и у меня возник этот вопрос.Я хочу получить все элементы, в которых categoryId = cat120026.Для этого я написал этот метод:

Интерфейс:

public interface ProductService {

    @Query("{ 'categoryId' : '\"cat120026\"' }")
    ProductModelResponse getProductByCategory();
}

Интерфейс:

 @Autowired
    @Qualifier("productRepository")
    private MongoRepository<ProductModel, String> repository;

    @Override
    public ProductModelResponse getProductByCategory() {
        return new ProductModelResponse(repository.findAll());
    }

Но мой запрос не получен, я получаю полный списокпредметов.Я видел примеры с mongoTemplate, но не совсем понял, какой класс указан в параметрах.Мой ProductResponseModel - мой ответ в формате JSON.Как это можно улучшить?

Ответ:

@Override
    public ProductModelResponse getProductByCategory() {
        Query query = new Query(Criteria.where("categoryId").is("\"cat120026\""));
        return new ProductModelResponse(pp.find(query, ProductModel.class));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...