我正在尝试从巢状结构中移除数组元素。
例如,需要从文档中删除ID为21的元素。
FOR doc in [
{
_key:1,
Lvl1:[
{ID:1, Lvl2:[{ID:10,Text:"A"},{ID:11,Text:"B"},{ID:12,Text:"C"}]},
{ID:2, Lvl2:[{ID:20,Text:"D"},{ID:21,Text:"E"},{ID:22,Text:"F"}]},
]
}]
return {_key:doc._key ,Lvl1:doc.Lvl1[*].Lvl2[* FILTER CURRENT.ID!=21]}
fitler基本上可以工作,但文档结构没有保留,因此我无法对文档的Lvl1执行更新。
输出
[
{
"_key": 1,
"Lvl1": [
[
{
"ID": 10,
"Text": "A"
},
{
"ID": 11,
"Text": "B"
},
{
"ID": 12,
"Text": "C"
}
],
[
{
"ID": 20,
"Text": "D"
},
{
"ID": 22,
"Text": "F"
}
]
]
}
1条答案
按热度按时间0md85ypi1#
下面是一个解决方案:
使用嵌套的FOR相当于
map
操作,可以更好地控制输出。