This isn’t supported. Conditional upserts accepts length functions only, no other feature. Length is the recommended function for this case.
e.g:
upsert {
query {
ID as var(func: eq(user.name, "Matt"))
check as var(func: uid(ID)) @filter(uid(0x001))
}
mutation @if(eq(len(check), 1) ) {
set {
uid(check) <user.job> "Engineer"
}
}
}