0
我的MongoDB中2.6.11文檔集合的mongodb的合計平均,其中「CPU」是表示陣列[CPU0,CPU1],參見下文數組元素
{ cpu: [ '100','20' ], hostname: 'host1',_id: 1 },
{ cpu: [ '40','30' ], hostname: 'host1',_id: 2 }, etc
例如我想找平均CPU上('70','25'](因爲'100'+'40'/ 2 = '70'和'20'+'30'='25')的'host1'。我想對於CPU1聚集,但它不給我正確的結果
db.collection.aggregate(
[
{
$group:
{
_id:"hostname",
avgCPU: {$avg: "$cpu.1"}
}
}
]
);
抱歉, _id是不同的,我只是想簡化 – irom
所以像下面? db.collection.aggregate( [{ $放鬆:{ 路徑: 「$ CPU」, includeArrayIndex: 「VS」 } }, {$匹配:{ 「VS」:{ 「$當量」:1 }}},{ $ 組:{ _id: 「主機名」, avgCPU:{$平均: 「$ CPU」}} } ] ); – irom
我已經更新我的答案,並且會得到您需要的結果 – Orejano