Mam dwa klucze A i B, a ich istnienie w dokumencie wzajemnie się wyklucza. Muszę pogrupować według A, kiedy A istnieje i pogrupować według B, gdy istnieje B. Więc jestem $project
ing wymaganej wartości do obliczonego klucza o nazwie MyKey, na którym wykonam $group
. Ale wygląda na to, że popełniam błąd przy użyciu składni. Próbowałem pisać $ projekt na dwa sposoby:
{$project: {MyKey: {$cond: [{$exists: ["$A", true]}, "$A", "$B"]}}}
i
{$project: {MyKey: {$cond: [{"A": {$exists:true}}, "$A", "$B"]}}}
ale wciąż otrzymuję błąd:
{ "errmsg" : "exception: invalid operator '$exists'", "code" : 15999, "ok" : 0 } ...
co się dzieje nie tak?
Jeszcze raz dziękuję! :-) Zmarnowałem tak dużo czasu na to .. –
Czy mogę używać zarówno $ isNull, jak i cond? –