MongoDB聚合:如何检测和过滤对象类型?

时间:2019-04-10 15:44:46

标签: mongodb aggregation-framework

我认为这不是一个难题,但是我不确定该怎么做 我的收藏是

[
 { 
    stuff:[
        { 
            type:"vegetables", weight:"1"
        },
        { 
            type:"meat", weight:"1"
        }
    ]
 },
 { 
    stuff:[
        { 
            type:"vegetables", weight:"1"
        },
        { 
            type:"vegetables", weight:"1"
        }
    ]
 },
 { 
    stuff:[
        { 
            type:"meat", weight:"1"
        },
        { 
            type:"meat", weight:"1"
        }
    ]
 },
]

我想为每个文档计算并计算状态。如果机器人在填充肉中键入,则状态为“肉”,如果两种类型均为“蔬菜”,则状态为“蔬菜”,如果存在一种“肉”类型和一种“蔬菜”类型,则状态为“肉”。 (肉类)

我想要的结果是这样:

{
  meat: 2,
  vegatables: 1
}

这里的困难是只能在一个请求中完成

所以我想我必须$project我想要的道具(物品类型),但是我不知道如何计算然后计算/求和/匹配?

预先感谢您的帮助

0 个答案:

没有答案