收藏A有:
[
{
name: 'peter',
types: ['human', 'male', 'young']
},
{
name: 'mice',
types: ['male', 'young']
},
{
name: 'hen',
types: ['female', 'old']
}
]
我知道如何获得所有不同类型的值,但是如何获得它的不。外观如何使用Mongo查询提取它?
如果您能以Doctrine QueryBuilder方式显示解决方案,那就太棒了。
由于
答案 0 :(得分:1)
使用聚合框架,您可以使用以下查询提供所有数组元素的外观:
db.collection.aggregate([{
$project : {
_id : 0,
types : 1
}
}, {
$unwind : "$types"
}, {
$group : {
_id : "$types",
count : {
$sum : 1
}
}
}
])
并输出:
{
"_id" : "human",
"count" : 1
}, {
"_id" : "old",
"count" : 1
}, {
"_id" : "male",
"count" : 2
}, {
"_id" : "young",
"count" : 2
}, {
"_id" : "female",
"count" : 1
}