Функциональность:
У меня есть функция batchItemUpdate, которая получает список элементов. У каждого элемента есть массив, называемый партиями. Я обновляю партии каждого элемента в списке элементов. Так как может быть много элементов, для которых я использую пакетную запись, это так. Проверьте код ниже:
batchItemUpdate(items: Item[]) {
var transactionBatch = this.afs.firestore.batch();
items.forEach((item)=>{
const sfDocRef = this.afs.firestore.collection('items').doc(item.id);
transactionBatch.update(sfDocRef,
{
batches:item.batches
});
});
return transactionBatch.commit();
}
Проблема:
Транзакция успешно зафиксирована, но записывается только последний пакет в массиве пакетов Все остальные партии в массиве пакетов в элементе удаляются.
if previously item.batches was [1,2,3,4]
to be updated with [1,2,3,5]
now item.batches is [5]