Я также пробовал триггер onUpdate для удаления данных вместе с триггером onWrite для прослушивания любых изменений при изменении данных, однако в обоих случаях он не дал мне никакого результата для части, относящейся к удалению данных. Подколлекция элементов в коллекции профилей остается неизменной. Я не уверен, в чем ошибка функции, выполнение функции не показывает ошибок, завершается статусом Ok ....
exports.updateDeletedItemOnProfile = functions.firestore
.document('items/{itemId}')
.onUpdate((change, context) => {
const { itemId } = context.params
const beforeItem = change.before.data()
const updatedItem = change.after.data()
if (updatedItem === null) {
return db.collection('profiles')
.doc(beforeItem.user.id)
.delete({
items: admin.firestore.FieldValue.arrayRemove({
id: itemId,
title: beforeItem.title,
price: beforeItem.price,
image: beforeItem.image,
status: beforeItem.status,
})
})
}
return true
})
exports.updateDeletedItemOnProfile = functions.firestore
.document('items/{itemId}')
.onUpdate((change, context) => {
const { itemId } = context.params
const beforeItem = change.before.data()
const updatedItem = change.after.data()
if (updatedItem === null) {
return db.collection('profiles')
.doc(beforeItem.user.id)
.update({
items: admin.firestore.FieldValue.delete({
id: itemId,
title: beforeItem.title,
price: beforeItem.price,
image: beforeItem.image,
status: beforeItem.status,
})
})
}
return true
})