的長度使用MongoDB的聚合框架來組我有一個集合,它看起來是這樣的:通過陣列
{
"_id": "id0",
"name": "...",
"saved_things": [
{ ... },
{ ... },
{ ... },
]
}
{
"_id": "id1",
"name": "...",
"saved_things": [
{ ... },
]
}
{
"_id": "id2",
"name": "...",
"saved_things": [
{ ... },
]
}
等等
我想使用MongoDB的聚合框架,以便拿出用直方圖結果告訴有多少用戶有一定數量的saved_things
。例如,對於數據集上面它可能返回類似:
{ "_id": 1, "count": 2 },
{ "_id": 3, "count": 1 }
我試過的聚集功能的各種組合像下面的一個,但沒有正確地制定。 (我得到的,我要對此非常錯誤的感覺。)
collection.aggregate([
{ $unwind: "$saved_things" },
{ $group: "$_id", count: { $sum: 1 } } },
{ $group: "$count", number: { $sum: 1 } } },
{ $sort: { number: -1 } }
], function(err, result) {
console.log(result);
});
這可能與蒙戈的總框架,或者我會與地圖更好減少功能?
你的意思是_how許多用戶有一定數量的saved_things subcollectin_?鑑於'saved_thing',你想知道哪些用戶有'saved_things'和多少?就是它? –
嗯,我的措辭似乎是混亂,對此感到遺憾!我認爲示例輸出最能說明我在找什麼,但我會試着再次描述它。 我想爲collection中的每個用戶獲取'saved_things'中的對象數,並聚合該計數的頻率。它用於生成用戶數量「saved_things」的直方圖(如果有意義的話)。 讓我知道如果這仍然以任何方式混淆。 –