0
我有一系列嵌套對象,它們包含在由一對多關係表示的關係數據庫中。來自聯接查詢的unflatten嵌套數據
給定來自連接查詢集,例如一個結果,其中的obj A包含許多BS的又包含許多銫又包含許多Ds的下面。下面是該查詢:是
SELECT A_ID AS A, B_ID AS B, C_ID AS C, D_ID AS D FROM A
INNER JOIN B on B.A_ID = A.A_ID
INNER JOIN C ON C.B_ID = B.B_ID
INNER JOIN D ON D.C_ID = C.C_ID
此查詢的結果如下:
| A | B | C | D |
|---|---|---|---|
| 1 | 1 | 1 | 1 |
| 1 | 1 | 2 | 2 |
| 1 | 2 | 3 | 3 |
| 1 | 2 | 3 | 4 |
我想產生這樣一個JSON對象。請注意,只有一個A對象,由於內部連接,每行中的數據都是相同的。 A對象包含兩個B對象。第一個B包含兩個Cs,第二個B包含一個包含兩個D的C。只有唯一的數據真的是d,但是每一行都包含從層次結構中的所有數據:
{
"A": {
"A_id": 1,
"Bs": [{
"B_id": 1,
"Cs": [{
"C_id": 1,
"Ds": [{
"D_id": 1
}]
},{
"C_id": 2,
"Ds": [{
"D_id": 2
}]
}]
},{
"B_id": 2,
"Cs": [{
"C_id": 3,
"Ds": [{
"D_id": 3
},{
"D_id": 4
}]
}]
}]
}
}
什麼是JavaScript來做到這一點最簡單,最有效的方法是什麼?請注意,最簡單的方法可能涉及使用諸如underscore.js或lodash之類的庫。
數據已經回來的形式,如:
[{A_id:1, B_id:1, C_id:1, D_id:1},{...}]
個人,我沒有看到輸入和輸出之間的關係。澄清會有所幫助 – charlietfl 2014-10-30 23:45:48