首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将值转换为Sesam中DTL中的属性

将值转换为Sesam中DTL中的属性
EN

Stack Overflow用户
提问于 2018-01-11 16:36:40
回答 1查看 44关注 0票数 1

我有一个列表,其中一个数值代表一个属性,我希望能够在管道内转换它。

格式与以下内容匹配:

代码语言:javascript
复制
'15':'AA'
'10':'BB'
'20':'CC'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-01 05:27:47

这可以通过创建使用DTL转换查找的映射数据集来解决。

首先,我们创建映射数据集(在本例中,我们只使用嵌入式数据集):

代码语言:javascript
复制
{
  "_id": "mapping",
  "type": "pipe",
  "source": {
    "type": "embedded",
    "entities": [{
      "_id": "15",
      "value": "AA"
    }, {
      "_id": "10",
      "value": "BB"
    }, {
      "_id": "20",
      "value": "CC"
    }]
  },
  "add_namespaces": false
}

然后我们可以使用这个映射:

代码语言:javascript
复制
{
  "_id": "mapper",
  "type": "pipe",
  "source": {
    "type": "embedded",
    "entities": [{
      "_id": "foo",
      "value": "15"
    }]
  },
  "transform": {
    "type": "dtl",
    "rules": {
      "default": [
        ["copy", "*"],
        ["add", "::mapped_value",
          ["coalesce",
            ["hops", {
              "datasets": ["mapping m"],
              "where": ["eq", "_S.value", "m._id"],
              "return": "m.value"
            }]
          ]
        ]
      ]
    }
  },
  "add_namespaces": false
}

结果是:

代码语言:javascript
复制
[
  {
    "_id": "foo",
    "mapped_value": "AA",
    "value": "15"
  }
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48202746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档