Итак, я хочу использовать триггер onUpdate в документе, чтобы увидеть разницу между до и после.
Вот как это выглядело раньше:
and after:
So in the example, the difference between the documents is "zfb5gXV54f5jbfn438Hd". With that, I'll use it else where in my app.
Here's what I have so far:
export const someFunc = functions.firestore.document('invites/{invitesUID}').onUpdate(async (change, context) => {
const previousValue = change.before.data();
const newValue = change.after.data();
})
So with onUpdate I'll be able to get the information that I need. What approach should I take for this? I have some ideas but wanted to know if there was a better way to do it. As always, I appreciate any help!
UPDATE:
So I came up with this:
export const deleteMember = functions.firestore.document('invites/{invitesUID}').onUpdate(async (change, context) => {
const previousValue = change.before.data()['invites']
const newValue = change.after.data()['invites']
if (previousValue.length > newValue.length) {
const prevInviteListArray = Object.entries(previousValue)
const newInviteListArray = Object.entries(newValue)
let difference = prevInviteListArray.filter((x: any) => !newInviteListArray.includes(x));
console.log('old list: ' + prevInviteListArray)
console.log('new list: ' + newInviteListArray)
console.log('the difference: ' + difference)
}
})
and got this result: введите описание изображения здесь
Не уверен, почему фильтр не работал ... есть идеи? (Также как я могу увидеть, что находится в объекте?)