В вашем распоряжении много функций для манипулирования данными, например, с помощью модифицирующих массив REMOVE_VALUE
, APPEND
и SORTED
Я массирую studentlist
исходных данных и использую объект- изменив MERGE
, чтобы получить желаемый результат.
LET data = {
"id":"123",
"studentlist": [
"a",
"b",
"c"
]
}
LET list = SORTED(APPEND(REMOVE_VALUE(data.studentlist, "b"), ["b1", "b2"]))
RETURN MERGE(data, {studentlist: list})
Возвращает желаемый
[
{
"id": "123",
"studentlist": [
"a",
"b1",
"b2",
"c"
]
}
]
как отдельный элемент списка результатов. Это должно начать вас. Вы можете использовать LET
выражения в FOR
запросах, вы можете использовать подзапросы для сбора данных и так далее ... А затем использовать ответ @ Ömer_Taban для обновления документов, например,
FOR d IN data
FILTER <YOUR_CONDITIONS>
LET list...
...
UPDATE d WITH list IN data