Я пытаюсь удалить элемент внутри массива. Ниже представлена ​​структура моей коллекции

Items:
-----subGroupId
---------------[0]
------------------itemName
------------------itemPrice
---------------[1]
------------------itemName
------------------itemPrice
---------------[2]
------------------itemName
------------------itemPrice

Перед удалением я экспериментирую, чтобы получить элемент по определенному индексу. Но при входе в систему я получаю "undefined".

this.db.collection<any>("items").doc(this.subGroupData.sgId).collection("items").doc("/0").valueChanges().subscribe(data=>{
              console.log(data);
            })

Я ожидаю, что вывод будет объектом данных элемента.

Пожалуйста помоги. Заранее спасибо.

0
Shyam Manchikanti 9 Окт 2019 в 12:45

1 ответ

Лучший ответ

Я думаю, вы могли путать подколлекции с полями массива. Это не одно и то же.

Если у вас есть поле документа, которое представляет собой массив, вы не можете рассматривать его как вложенную коллекцию. Единственный способ удалить элемент поля массива по индексу - это прочитать документ, изменить массив в памяти и обновить поле массива обратно в документ.

0
Doug Stevenson 15 Окт 2019 в 04:23