如何返回0表示不存在的匹配计数

时间:2017-07-28 16:50:03

标签: mongodb mongoose

所以我使用了一个聚合,如果一个值在一个数组中我匹配,那么就像那些值那样分组:

db.person.aggregate([
    {
       $match: {"city":{ $in: ["New York", "Denver"]}}
    },{
       $group: {_id: "$city", total : {$sum:1}}
    }
])

{_id:"New York", total:5}
{_id:"Denver", total:2}

这适用于城市是值的情况,但我想返回总数:0,如果城市不在集合中。即:

["New York", "Denver", "Orlando"]


{_id:"New York", total:5}
{_id:"Denver", total:2}
{_id:"Orlando", total:0}

这是可能的还是我应该只检查我的代码中的结果并将0值结果附加到结果中?

0 个答案:

没有答案