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