我有一个集合,其中一个Item可以是另一个父亲,同时又是另一个孩子(它有一个ItemCode和一个ParentCode,它是其父节点的ItemCode)。它可能有多个子节点。我想找到firstItemCode
的所有子项。起初我发现每个ItemCode都等于第一个ItemCode,然后我再次为每个找到的孩子做。就这样:
var totals = [];
collection.find({'parentCode': firstItemCode.toString()}).then(function(d) {
// console.log(d);
d.forEach(function(u){
totals.push({'itemCode': u['itemCode'], 'name':u['name'], 'name': u['price']});
collection.find({'parentCode': u['itemCode'].toString()}).then(function(d1){
d1.forEach(function(u1){
totals.push({'itemCode': u1['itemCode'], 'name':u1['name'], 'name': u1['price']});
collection.find({'parentCode': u1['itemCode'].toString()}).then(function(d2){
d2.forEach(function(u2){
totals.push({'itemCode': u2['itemCode'], 'name':u2['name'], 'name': u2['price']});
collection.find({'parentCode': u2['itemCode'].toString()}).then(function(d3){
console.log(totals);
});
});
});
});
});
});
});
我想这样做,直到集合中没有更多项目,父代码等于最后一项' s代码
我尝试了this教程,但我感到困惑......我不知道如何使forEach
适合链接。
任何人都可以帮助我在一个循环中这样做,所以我不必复制这100次?