提问要多花一点心思哦

数组里包含对象能否用script删除?有没有其他方法?【已解决】

Elasticsearch | 作者 skymilong | 发布于2019年08月27日 | 阅读数:1703

因为需求改动,必须要去删除一个数组的其中一个对象。想过先查到,然后到后台循环匹配,移除后再updateByQueryyQuery进行更新。不知道有没有其他方法更新?
例子: 比如我要删除这个字段里面id为1的车子对象。 应该怎么操作?
cars:[
{
color:'white',
size:'big',
id:'1'
},
{
color:'white',
size:'small',
id:'2'
}
]
已邀请:

God_lockin

赞同来自: skymilong

用script processor试试?
script-processor
 
大概这个意思,你自己debug一下优化一下
{
"script": {
"lang": "painless",
"source": "ctx.cars = ctx.cars.stream().filter(x -> !x.id.equals('1')).collect(Collectors.toList())"
}
}

要回复问题请先登录注册