现在我有一个像这样结构的mongodb:
{
_id:
content:{
A:a
B:....
}
_id:
content:{
C:a
D:....
}
_id:
content:{
C:c
D:....
}
}
我需要总结内容.A和content.C。并将结果排序以获得前5名。 期待这样的结果:
a:2
c:1
给我一个Example.Better使用php mongo query pls。
答案 0 :(得分:0)
这应该让你开始:
collection.aggregate({
$group: {
_id: { $ifNull: [ "$content.A", "$content.C" ] }, // use "A" if it's available otherwise use "C"
count: { $sum: 1 } // count documents per group
}
}, {
$sort: { "count": -1 } // sort descending
}, {
$limit: 5 // get top 5 only
})