我在sesam中对数据集运行跳转,我的输出如下例所示,我的问题是需要一个连接,其中我最终只得到具有最高优先级的属性。
[{
"id": "AAA",
"priority": 10
}, {
"id": "AAB",
"priority": 7
}]
答案 0 :(得分:2)
您也可以使用“max”功能解决此问题:
{
"_id": "sort-by-prop",
"type": "pipe",
"source": {
"type": "embedded",
"entities": [{
"_id": "foo",
"bar": [{
"id": "AAA",
"priority": 10
}, {
"id": "AAB",
"priority": 5
}]
}]
},
"transform": {
"type": "dtl",
"rules": {
"default": [
["copy", "_id"],
["add", "foo",
["path", "id",
["max", "_.priority", "_S.bar"]
]
]
]
}
}
}
结果将是:
[
{
"_id": "foo",
"foo": "AAA"
}
]
答案 1 :(得分:1)
您可以使用"排序","反向","第一"和"路径":
{
"_id": "sort-by-prop",
"type": "pipe",
"source": {
"type": "embedded",
"entities": [{
"_id": "foo",
"bar": [{
"id": "AAA",
"priority": 10
}, {
"id": "AAB",
"priority": 5
}]
}]
},
"transform": {
"type": "dtl",
"rules": {
"default": [
["copy", "_id"],
["add", "foo",
["path", "id",
["first",
["reversed",
["sorted", "_.priority", "_S.bar"]
]
]
]
]
]
}
}
}
结果将是:
[
{
"_id": "foo",
"foo": "AAA"
}
]