I have two keys A and B and their existence in the document is mutually exclusive. I have to group by A when A exists and group by B when B exists. So I am $project
ing the required value into a computed key called MyKey on which I'll perform a $group
. But it looks like I'm making a mistake with the syntax. I tried writing $project in two ways:
{$project: {MyKey: {$cond: [{$exists: ["$A", true]}, "$A", "$B"]}}}
and
{$project: {MyKey: {$cond: [{"A": {$exists:true}}, "$A", "$B"]}}}
But I keep getting the error:
{ "errmsg" : "exception: invalid operator '$exists'", "code" : 15999, "ok" : 0 } ...
What's going wrong?