#spring #spring-data-mongodb #mongotemplate
#spring #spring-data-mongodb #mongotemplate
Вопрос:
Я новичок в spring, я бы ввел этот запрос в запрос шаблона mongo. Кто-нибудь может мне помочь?
public List<Prodotto>selectedList(List<Integer>categories){
TypedQuery<Product> findSelectedQuery1 = em
.createQuery( "SELECT DISTINCT p FROM Product p WHERE p.category.idCategory IN :categories ",
Product.class);
findSelectedQuery1.setParameter("categories", categories);
return findSelectedQuery1.getResultList();
}
Ответ №1:
Я предполагаю, что ваша «категория» является объектом
db.Product.aggregate([
{
$match: {
"category.idCategory": {
$in: categories
}
}
}
])
Spring-Данные:
@Autowired
private MongoTemplate mongoTemplate;
...
List<AggregationOperation> pipeline = new ArrayList<>();
//$match
pipeline.add(Aggregation.match(Criteria.where("category.idCategory").in(categories)));
Aggregation agg = Aggregation.newAggregation(pipeline);
return mongoTemplate.aggregate(agg, Product.class, Product.class).getMappedResults();