I am trying to delete item from array in profile collection named items subcollection. Function should be triggered whenever item is deleted from main items collection. Problem with below function is that when triggered it deletes all items from profile instead of deleted one only. How I could iterate over items array and perform check of deleted item id.
exports.updateDeletedItemOnProfile = functions.firestore
.document('items/{itemId}')
.onDelete((snap, context) => {
const { itemId } = context.params
const deletedItem = snap.data()
if(deletedItem){
db.collection('profiles')
.doc(deletedItem.user.id)
.update({
items: admin.firestore.FieldValue.delete({
id: itemId,
title: deletedItem.title,
price: deletedItem.price,
image: deletedItem.image
})
})
}
return true
})