你能做一个MongoDB聚合投影算子{$cond: { '$field': {$in: ['val1', 'val2']}}}
吗?或者我必须将其分解为$or
?
目前我有一个:
$project: {
countNames: [
// if
{$or: [
{$eq: ['$name', 'Frist variant']},
{$eq: ['$name', 'Second variant']}
]
// then
1,
// else
0
]
}
我只是想知道是否有办法避免重复 $eq
&#39> ,例如:
sum: {
$cond: [
'$name': {$in: ['Frist', 'Second']},
1,
0
]
}
好的,我知道我写的版本没有用(尝试过),但是有没有可以做到的运营商?当有更多的时候,重复$ eq会迅速变老,我有时会采用多阶段管道或mapReduce。这将有助于我的一些代码。
对于它的价值,我目前使用MongoDB 2.6,但我计划在几周内将生产转换为Mongo 3,因此v3解决方案也是可以接受的。