我正在使用Mongodb 3.2,我需要计算数组内的所有字段
这些是我收藏的一个例子
{
"memTotal" : 33730525659,
"swapTotal" : 16936129790,
"queueList" : [
{
"usedSlots" : 2,
"totalSlots" : 8,
"reservedSlots" : 0,
},
{
"usedSlots" : 2,
"totalSlots" : 8,
"reservedSlots" : 0,
},
{
"usedSlots" : 2,
"totalSlots" : 8,
"reservedSlots" : 0,
},
],
},
{
"memTotal" : 33730525659,
"swapTotal" : 16936129790,
"queueList" : [
{
"usedSlots" : 2,
"totalSlots" : 8,
"reservedSlots" : 0,
},
{
"usedSlots" : 2,
"totalSlots" : 8,
"reservedSlots" : 0,
},
{
"usedSlots" : 2,
"totalSlots" : 8,
"reservedSlots" : 0,
},
],
},
{
"memTotal" : 33730525659,
"swapTotal" : 16936129790,
"queueList" : [
{
"usedSlots" : 2,
"totalSlots" : 8,
"reservedSlots" : 0,
},
{
"usedSlots" : 2,
"totalSlots" : 8,
"reservedSlots" : 0,
},
{
"usedSlots" : 2,
"totalSlots" : 8,
"reservedSlots" : 0,
},
],
},
我需要计算“queueList.useSlots”,“queueList.totalSlots”,“queueList.totalSlots”的平均值,请记住queueList是一个数组 .
到目前为止,我所做的是使用聚合,首先是我{$ unwind:“queueList”},{$ group:{useSlots:{$ avg:“queueList.useSlots”}}}
但这会返回错误的平均值:-(
任何帮助将非常感激:-)谢谢!
1 回答
请尝试以下查询 .
Output:-