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?