Can you describe the use case a bit more, please? For example, why are you tracking the invites? What is significant about the Approved vs Disclined decision?
(Btw, Approved and Disclined may be the wrong terms to use here. Approved implies someone else granting permission to join the event. You may have meant Accepted and Declined.)
Just have an object with their decisions saved in another responses collection
{
dateCreated,
userId,
eventId,
decision,
note
}
Then people if needed can respond, change their minds, you just do a final query to get the latest date created for a particular user/event but you get to save a rich history and don’t have to worry about updating user records, events etc
This allows you to track easily people that originally signed up but later canceled etc; or originally declined but after a promotion switched etc
If you need to do more complex things with this data then it may warrant its own collection. But for just displaying a report on the event info page then probably this is all you need.