假设我们有3个表:电影,演员,电影,我希望能够选择/搜索与给定术语匹配的所有记录。
现在我做了这样的工作:
function findItemprop(data, value, found) {
if (!found) found = [];
data.forEach((node) => {
if (node.attributes && node.attributes.itemprop == value)
found.push(node);
if (node.children) findItemprop(node.children, value, found);
});
return found;
}
var dom = [{
tag: "root",
children: [{
tag: "header",
children: [{
tag: "div"
}]
}, {
tag: "div",
id: "main",
children: [{
tag: "p",
attributes: {
itemprop: "wanted"
}
}]
}, {
tag: "footer",
children: [{
tag: "span",
content: "copyright 2017",
attributes: {
itemprop: "wanted"
}
}]
}]
}];
console.log(findItemprop(dom, "wanted"));
这里的问题是它导致针对数据库的3次查询,这不是非常有效。
请注意,这只是一个示例,我要搜索的表格超过3个。
那么关于我如何从多个没有关系的表中进行选择的任何想法?