我正在尝试将数据从 MongoDB 导入关系数据库(SQL Server)。
我无法访问MongoDB组件,因此我在tJava组件中使用mongo java驱动程序查询我的集合。
我得到了:
列表与LT; 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查询循环使用employee数组:
" $ [*] object.sell [0] .employee"
问题是,这样做,我不能拥有object_id。如果我像这样定义我的Jsonpath查询,似乎我无法在父节点上获得属性。
但是我不明白他什么时候在较低级别获得object_id。
我该怎么办?
答案 0 :(得分:0)
我使用JSONPath的测试也失败了,但我认为这必定是组件中的错误,因为当我查询时:
$ .. ['$ oid']我要回来了 - > []。
每当您尝试获得比循环查询更高级别的节点时,似乎就是这种情况。