Can't seem to get $match working

So I’m unsure if I’m totally misunderstanding the documentation or just having a major brain fart, but I cannot for the life of me get this $match in Triggers to work. Below is my change stream


and then attempted $match queries

{"updateDescription.updatedFields": {"livescores.currentstatus":{"$exists":true}}}
{"updateDescription": {"updatedFields":{"livescores.currentstatus":{"$exists": true}}}}

I want the trigger to run when the livescores.currentstatus field is present. The first query is the only one that allows anything through, but also allows everything through. Appreciate any advice that can be provided, have been going round with this for too long

Okay it seems its because the changeEvent is showing the livescores.currentstatus field as a dot-not object instead of the proper document representation. Is this an oversight or am I doing something wrong

Okay I think I’ve figured it out. If I’m performing a $set operation on the livescores.currentstatus field, using dot notation, it won’t work. If I instead separate the two fields like this "$set" : {"livescores":{"currentstatus": f"PAUSED"}} then it matches, but it will remove the fields within the livescores document that aren’t included. What is the correct way to update a single field within an nested doc, without removing other fields, and have the Trigger still $match?

Okay I think I’ve got it. How can I update a single field in an object without removing the rest? findAndModify or perhaps my $set update is incorrect

Edit: This page here states that $set uses dot notation to access fields in embedded docs. There is no mention of there being an impact on the $match query in Triggers