【发布时间】:2018-08-28 18:36:05
【问题描述】:
我有一个嵌套文档的 MongoDB 集合,如下所示。我正在尝试读取 TestCase 对象中的标签。现在我的实现非常基础,有 4 个 for 循环。我是 java8 的新手,我想使用流或任何简单的方法来读取嵌套数据集。
class TestResults {
public String ID;
DateTime timeStamp;
List<TestCapability> testCapability;
}
class TestCapability {
public String ID;
DateTime timeStamp;
List<TestSuite> testSuite;
}
class TestSuite {
public String ID;
DateTime timeStamp;
List<TestCase> testCase;
}
class TestCase {
public String ID;
DateTime timeStamp;
List<TestSteps> testSteps;
private Set<String> tags = new HashSet<>();
}
我目前的实现很糟糕如下
for (TestResult testResult : testResults) {
for (TestCapability capability : testResult.getTestCapabilities()) {
for (TestSuite testSuite : capability.getTestSuites()){
for (TestCase testCase : testSuite.getTestCases()) {
for (Feature feature : featureDetails) {
if (testCase.getTags().contains(feature.getsNumber())){
testResultsAuditResponse.setsId(feature.getsId());
testResultsAuditResponse.setsNumber(feature.getsNumber());
testResultsAuditResponse.setsName(feature.getsName());
testResultsAuditResponse.setsStatus(feature.getsStatus());
}
}
}
}
}
}
【问题讨论】:
标签: java java-8 java-stream flatmap