Я новичок в MongoDB и хочу эквивалент sql подзапроса, как указано ниже
select * from records where status = "OFF" and category not in (select category from records where status = "ON");
На данный момент я использую 2 различных find () в SpringDataMon go следующим образом
List<String> categories = new ArrayList<>();
Query query = new Query(Criteria.where("status").is("ON"));
List<MyDocument> documents = (List<MyDocument>) mongoTemplate.find(query, MyDocument.class);
for(MyDocument doc : documents ) {
categories.add(doc.getCategory());
}
Query query = new Query(Criteria.where("category").nin(categories));
documents = (List<MyDocument>) mongoTemplate.find(query, MyDocument.class);
Могу ли я сделать это одним агрегатом?