3
比方说,我们有一个文档集合如下MongoDB的总文档
{_id:1, name:'a', category:'c1', count:1}
{_id:2, name:'b', category:'c1', count:3}
{_id:3, name:'c', category:'c1', count:5}
{_id:4, name:'d', category:'c2', count:2}
{_id:5, name:'e', category:'c2', count:3}
{_id:6, name:'f', category:'c2', count:6}
{_id:7, name:'g', category:'c2', count:7}
我想按类别
"aggregation"
管道到
- 组文件对于每个类别,按数量递减排列前两位文件
因此,在第是的情况下,预期的结果应该是这样的
[
{_id:'c1: docs:[
{_id:3, name:'c', category:'c1', count:5},
{_id:2, name:'b', category:'c1', count:3}
]},
{_id:'c2: docs:[
{_id:7, name:'g', category:'c2', count:7},
{_id:6, name:'f', category:'c2', count:6}
]},
]
目前,我采取多个步骤来产生结果
- 确定类别列表
- 重复查找{类别:X},{排序: [[ '计数', '降序']],限制:2}命令
- 合并的结果到一个共同的阵列
反正有一个请在"aggregation"
的方式下点击这个?
你试过做任何查询吗? – Shrabanee
目前我正在采取多个步骤来处理这个问题。 – Lee
无论如何,我想出了一个答案。感谢所有的赞成票和评论。将在短时间内发布答案。 – Lee