Javascript 如何映射嵌套的对象数组?
我有一个用例,需要查询NoSql表(AWS DynamoDb),Javascript 如何映射嵌套的对象数组?,javascript,node.js,logic,Javascript,Node.js,Logic,我有一个用例,需要查询NoSql表(AWS DynamoDb), 将返回一个列表, 每个结果还需要查询回同一个表。 我的表格有两个重要列- 1.子服务id 2.家长id 查询是在表的父\u id列上进行的 每个记录只有一个父id, 但是一个父id可以出现在多行中,因此一个父id可以有多个子项。 我的表格如下所示- 除第一次呼叫外,父\u id字段中的所有剩余呼叫, 使用每条记录的子服务id进行 如图所示, 第一条记录是第二条记录的父记录, 第二条记录是第三条记录的父记录。 但从理论上讲,第一、
将返回一个列表,
每个结果还需要查询回同一个表。
我的表格有两个重要列-
1.子服务id
2.家长id
查询是在表的父\u id列上进行的
每个记录只有一个父id,
但是一个父id可以出现在多行中,因此一个父id可以有多个子项。
我的表格如下所示- 除第一次呼叫外,父\u id字段中的所有剩余呼叫,
使用每条记录的子服务id进行 如图所示,
第一条记录是第二条记录的父记录,
第二条记录是第三条记录的父记录。
但从理论上讲,第一、第二和第三条记录都可以有多个子记录。
可以使用主键(子服务id)或索引(父id)查询NoSql表(AWS DynamoDb) 我尝试了以下代码,但无法理解逻辑-
var tree = {};
var requestBody = "";
module.exports.listServiceRelation = async (constants, requestBody) => {
let requestContext = requestBody.context;
requestBody = requestBody.request;
let connection = await dynamoDb.getDynamoConnection(constants);
console.log('db connection created!');
let apiResponse = await getSubServiceHierarchy(constants, connection, requestBody.service_id);
};
let getSubServiceHierarchy = async (constants, connection, parent_id) => {
let subServices = await dynamoDb.getSubServiceByParentId(constants, connection, parent_id);
if(subServices != undefined && subServices.Items != undefined && subServices.Items.length > 0){
let subServicesArr = [];
for(let i in subServices.Items){
let temp = {};
let currObj = subServices.Items[i];
temp.sub_service_id = currObj.sub_service_id;
temp.sub_service_name = currObj.sub_service_name;
temp.parent_id = currObj.parent_id;
subServicesArr.push(temp);
}
tree[parent_id] = subServicesArr;
for(let i in subServices.Items){
let currObj = subServices.Items[i];
let grandChildren = await dynamoDb.getSubServiceByParentId(constants, connection, currObj.sub_service_id);
if(grandChildren != undefined && grandChildren.Items != undefined && grandChildren.Items.length > 0){
getSubServiceHierarchy(constants, connection, grandChildren);
}
}
}
else{
return [];
}
};
我需要为我的用例提供伪代码逻辑方面的帮助,我的输出应该是这样的-
[
{
"sub_service_id": "1",
"parent_id": "main_service_id",
"children": [{
"sub_service_id": "2",
"parent_id": "1",
"children": [{
"sub_service_id": "3",
"parent_id": "2",
"children": []
}]
}]
},
{
"sub_service_id": "4",
"parent_id": "main_service_id",
"children": []
}
]
我怀疑你在这个问题上会得到任何帮助。在这里发布之前,您可能应该总结出确切的问题是什么(即您的代码在哪里被破坏)。请参阅希望获得一些与逻辑/方法相关的帮助:/您的帖子太长了。可能有很多无关紧要的细节。我没读过,我怀疑其他人会读。StackOverflow更多的是一个提供清晰直接的问题和答案的地方。如果您正在寻找代码审查,您可以前往: