我想從MongoDB導入數據到關係DB(SQL Server)。JSON導入與Talend關係表的嵌套對象
我無權訪問MongoDB組件,所以我使用mongo java驅動程序在tJava組件中查詢我的集合。
我得到一個:
名單< DBOBJECT>
我發送到tExtractJSONFields
我收藏的目的是這樣的:
[
{
"_id":{
"$oid":"1564t8re13e4ter86"
},
"object":{
"shop":"shop1",
"domain":"Divers",
"sell":[
{
"location":{
"zipCode":"58000",
"city":"NEVERS"
},
"properties":{
"description":"ddddd!!!!",
"id":"f1re67897116fre87"
},
"employee":[
{
"name":"employee1",
"id":"245975"
},
{
"name":"employee2",
"id":"458624"
}
],
"customer":{
"name":"Customer1",
"custid":"test_réf"
}
}
]
}
}
]
對於出售,我可以有幾個員工。我有一組員工,我想將受影響的員工存儲在另一個表中。因此,我將有2個表:
Sell
oid | shop | domain | zipCode | ...
1564t8re13e4ter86 | shop1 | Divers | 58000 | ...
Affected employee
employee_id | employee_name | oid
245975 | employee1 | 1564t8re13e4ter86
458624 | employee2 | 1564t8re13e4ter86
所以我想環路員工陣列上,用Jsonpath查詢:
「$ [*] object.sell [0] .employee」
問題是,這樣做,我不能有object_id。看起來,如果我像這樣定義我的Jsonpath查詢,我無法在父節點上獲取屬性。
我也看到了,我可以像在下面的鏈接: http://techpoet.blogspot.ro/2014/06/dealing-with-nested-documents-in.html?utm_content=buffer02d59&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer
但他什麼時候在較低水平得到OBJECT_ID我不明白。
我該怎麼辦?
嗨,在我看來,Xpath可能是一個更好的選擇,因爲你可以有父節點使用Xpath(我認爲這是父點或雙點)。對象ID將重複每行,但你會擁有它。 –
不幸的是,Xpath不適用於這個JSON。我不明白爲什麼,但我一直在嘗試所有類型的xpath查詢,但沒有取得任何成功... –