我有這樣的文件:MongoDB的聚集做總結和addtoSet工作
{"_id":"xxx","user_id":111,"time":14142342234,"amount":1000,"category":["A","B","C"]}
{"_id":"xxx","user_id":111,"time":14142342234,"amount":1000,"category":["B","C"]}
{"_id":"xxx","user_id":222,"time":14142342234,"amount":1000,"category":["A","B","C"]}
每個用戶都要多記錄屬於不同的時間。 我的工作是找出有一定時間範圍內有最大金額和類別大小的前100位用戶。
所以我必須$group
user_id
,$sum
的數量,但我怎樣才能得到每個用戶的類別設置?如果我想按類別大小排序?
那麼正確的分類大小是什麼?爲什麼?你有什麼嘗試?你認爲你可能需要做什麼?這些都是相當簡單的事情,如果你適時自己一下。也許你應該展示你的嘗試,並解釋你卡在哪裏。 –
@BlakesSeven感謝提醒,我試圖使用$ group和$ addToSet,但無法獲得結果 – Lynn
那麼你還嘗試了什麼?我只在下面看到一個評論,你認爲['$ addToSet'](https://docs.mongodb.org/manual/reference/operator/update/addToSet/)與['$ addToSet'](https://docs.mongodb.org/manual/reference/operator/aggregation/addToSet/)。這當然是兩件不同的事情。如果你想要組合數組的「集合」,它應該是「沒有道理的」,因爲它是「在聚合內容時需要用數組處理的最常見的事情」*。如果你只是在這裏應用一點思考,那很簡單。 –