最佳答案
我有两个关键字 A 和 B,它们在文档中的存在是相互排斥的。当 A 存在时,我必须按 A 分组,当 B 存在时,我必须按 B 分组。因此,我正在将所需的值 $project
0放入一个名为 MyKey 的计算键中,并在其上执行 $group
。但是看起来我在语法上犯了一个错误。我尝试用两种方法写 $project:
{ $project: { MyKey: { $cond: [{ $vis: [“ $A”,true ]} ,“ $A”,“ $B”]}}}
还有
{$project: {MyKey: {$cond: [{"A": {$exists:true}}, "$A", "$B"]}}}
但我一直得到这个错误:
{ "errmsg" : "exception: invalid operator '$exists'", "code" : 15999, "ok" : 0 } ...
怎么了?