У меня есть класс:
Код: Выделить всё
@Document("Master")
public class Master {
@Id
private String id;
private String code;
private String name;
private String companyCode;
private String version;
}
Код: Выделить всё
@Document("Child")
public class Child {
@Id
private String id;
private String code;
private String name;
private String companyCode;
private String masterCode;
private String masterVersion;
}
Код: Выделить всё
public Document testquery() {
ArrayList aggregationOperations = new ArrayList();
ProjectionOperation projection = Aggregation.project();
String companyCode = "23112";
Criteria criteriaCompanyCode = Criteria.where("companyCode").is(companyCode);
AggregationOperation newAggregationCompanyCode = Aggregation.match(criteriaCompanyCode);
aggregationOperations.add(newAggregationCompanyCode);
LookupOperation lookup1 = Aggregation.lookup("Child", "code", "masterCode", "l2");
aggregationOperations.add(lookup1);
UnwindOperation un = Aggregation.unwind("l2");
aggregationOperations.add(un);
ProjectionOperationBuilder partLynProcess_code = projection.and("companyCode");
projection = partLynProcess_code.as("Master_companyCode");
ProjectionOperationBuilder partLynProcess_code = projection.and("code");
projection = partLynProcess_code.as("Master_code");
ProjectionOperationBuilder partLynProcess_name = projection.and("name");
projection = partLynProcess_name.as("Master_name");
ProjectionOperationBuilder partLynProcess_version = projection.and("version");
projection = partLynProcess_version.as("Master_version");
ProjectionOperationBuilder partdataLynSolutionTask = projection.and("l2");
projection = partdataLynSolutionTask.as("l2");
aggregationOperations.add(projection);
Aggregation aggregation = Aggregation.newAggregation(aggregationOperations);
Document response = mongoTemplate.aggregate(aggregation, "Master", Object.class).getRawResults();
return response;
}
Я хочу сопоставить дочерний элемент с главным, используя следующие три:
свойство «masterCode» дочернего элемента с «кодом» главного,
свойство «companyCode» дочернего элемента с «companyCode». Master
и
свойство masterVersion дочернего элемента с версией Master.
Как я могу это сделать?
Подробнее здесь: https://stackoverflow.com/questions/783 ... in-with-be
Мобильная версия