У меня есть два ключа A и B, и их существование в документе является взаимоисключающим. Мне нужно группировать А, когда А существует и группируется по В, когда существует Б. Таким образом, я $project
вводя требуемое значение в вычисленный ключ MyKey, на котором я буду выполнять $group
. Но похоже, что я ошибаюсь в синтаксисе. Я попытался написать $project двумя способами:
{$project: {MyKey: {$cond: [{$exists: ["$A", true]}, "$A", "$B"]}}}
и
{$project: {MyKey: {$cond: [{"A": {$exists:true}}, "$A", "$B"]}}}
Но я продолжаю получать ошибку:
{ "errmsg" : "exception: invalid operator '$exists'", "code" : 15999, "ok" : 0 } ...
Что пойдет не так?