How can i exclude based on satisfy in Query

I have a query where i get contacts based on a tag where query looks like this

select META(c).id,
       e.address,
       c.tags
FROM Contacts c 
UNNEST c.emails e
WHERE c._type = 'contact'
    AND ANY v IN c.tags SATISFIES v = "tag::EA5DE0FB-34B0-4F7C-B631-177D6BD2F65E" END

how would i go about if i wanted the above query but also exclude where any contact has a tag of
“tag::7F76891A-1C6B-4CD3-9D34-57A1727F45A0”

select META(c).id,
       e.address,
       c.tags
FROM Contacts c 
UNNEST c.emails e
WHERE c._type = 'contact'
    AND ANY v IN c.tags SATISFIES v = "tag::EA5DE0FB-34B0-4F7C-B631-177D6BD2F65E" END 
   AND  NOT (ANY v IN ctags SATISFIES v = "tag::7F76891A-1C6B-4CD3-9D34-57A1727F45A0" END)

Here is the interesting part, if i run the sample query i get results that don’t make sense

In my test case if i run with no Satisfy filter i get 208 Docs
If i use " AND ANY v IN c.tags SATISFIES v = “tag::7F76891A-1C6B-4CD3-9D34-57A1727F45A0” END"
i get 3 Docs which means by my account based on 208 records there should be 205 which don’t have that tag.

If i now apply this filter only
AND NOT (ANY v IN c.tags SATISFIES v = “tag::7F76891A-1C6B-4CD3-9D34-57A1727F45A0” END)
I get 86 Records so what causes this ?

Earlier query array contains tag1 and not contain tag2

If you want documents that doesn’t contain tag1

select META(c).id,
       e.address,
       c.tags
FROM Contacts c 
UNNEST c.emails e
WHERE c._type = 'contact'
   AND  NOT (ANY v IN ctags SATISFIES v = "tag::7F76891A-1C6B-4CD3-9D34-57A1727F45A0" END);

OR

select META(c).id,
       e.address,
       c.tags
FROM Contacts c 
UNNEST c.emails e
WHERE c._type = 'contact'
   AND  EVERY  v IN ctags SATISFIES v != "tag::7F76891A-1C6B-4CD3-9D34-57A1727F45A0" EN);

This still does not create the result i would expect .

After some more research i found that some docs might not have the tags array and its seems those will not return if you apply the

AND NOT (ANY v IN c.tags SATISFIES v = “tag::7F76891A-1C6B-4CD3-9D34-57A1727F45A0” END);

So how would i declare the filter that even if there is no tags array it will also match since if not tags it does not have that tag.

Here is what i came up with but i am not sure if thats best way

AND EVERY v IN c.tags SATISFIES v != “tag::7F76891A-1C6B-4CD3-9D34-57A1727F45A0” END
OR c._type = ‘contact’ and c.tags IS MISSING

c._type = "contact" 
 AND  EVERY v IN IFMISSING(c.tags,[]) SATISFIES v != "tag::7F76891A-1C6B-4CD3-9D34-57A1727F45A0" END

what does the square represent in this part ? (c.tags,)

empty array

c._type = "contact" 
AND  EVERY v IN IFMISSING(c.tags,[]) SATISFIES v != "tag::7F76891A-1C6B-4CD3-9D34-57A1727F45A0" END

OR

"tag::7F76891A-1C6B-4CD3-9D34-57A1727F45A0" NOT IN IFMISSING(c.tags,[])