Я пытаюсь удалить 2-уровневую вложенную ссылку в Firestore. Моя схема выглядит так:
В коде это выглядит так:
{
"folder": "bla",
"title": "myTitle",
"children": [
{
"ref": "firstReference"
},
{
"ref": "secondReference"
},
{
"title": "Subcollection Title",
"children": [
{
"ref": "thirdReference"
},
{
"ref": "forthReference"
}
]
}
]
}
Теперь я ищу способ удалить третью или четвертую ссылку из второго дочернего массива.
Чтобы удалить элемент из первого дочернего массива, используйте этот код:
docRef.update({children: firebase.firestore.FieldValue.arrayRemove(folder.children[index])
Но это решение работает только для верхнего уровня ; (
Кто-нибудь знает, как удалить более глубокие вложенные элементы?
Я пытался:
docRef.update({[`children[${index}].children`]: firebase.firestore.FieldValue.arrayRemove(
folder.children[index].children[secondIndex])});
Но выдает ошибку (Пути не должны содержать '~', '*', '/', '[' или ']')
Спасибо за помощь;)