使用Java递归显示基于级别的MongoDB文档列表
我正在尝试使用Java获取MongoDB文档的列表。 我可以把它列成一个列表,但是文档是分开的,我希望它们列成一棵树
例如,以下是我能得到的:
"data": [
{
"categoryLevel": 1,
"categoryName": "Electronics",
"categoryId": "1001"
},
{
"categoryLevel": 2,
"categoryName": "Air Conditioner",
"categoryId": "1002"
},
{
"categoryLevel": 3,
"categoryName": "Refrigerator",
"categoryId": "1003"
}
]
这就是我想要的:
level 1
|
|--level 2
|
|--level 2
|
|--|
|--level 3
有人建议我使用递归,但我不知道怎么做,请帮助我
假装所有查询语句都存在
*编辑:如果您想查看我的代码。 在这里:
JSONObject result = new JSONObject();
List<ProductCategory> categories = null;
if (!GenericValidator.isBlankOrNull(categoryId)) {
categories = getProductCategoryController().getProductCategories(new ArrayList<>(Collections.singletonList(categoryId)));
} else {
categories = getProductCategoryController().getProductCategoriesByOrgId(getOrgEcomosId());
}
if (type.equals("list")) {
if (null != categories && categories.size() > 0) {
JSONArray listCategories = new JSONArray();
categories.forEach(t -> {
JSONObject category = new JSONObject();
category.put("categoryLevel", t.getLevel());
category.put("categoryName", t.getName());
category.put("categoryId", t.getId());
listCategories.put(category);
});
result = new JSONObject();
result.put("data", listCategories);
result.put("status", 1);
}
}
return result(result);
共 (0) 个答案