我正在创建一个数据洞察仪表板,我有许多数据和存储的计数,但是我需要将其合并到一个文档中。 (很难用语言来解释),例如
网站集:
{
Name: "..."
ApiKey: "SomeUnique1"
Insights:
{
sumOfData: 5,
anotherSum: 14
}
},
{
Name: "..."
ApiKey: "SomeUnique2"
Insights:
{
sumOfData: 5,
anotherSum: 1
}
},...
我想检索下一个以下数据:
{
ChartDashboard: "Usage"
Insights:
{
sumOfData: 10,
anotherSum: 15
}
}
我读到$ and运算符可以使用ApiKey的某些属性进行检索,但是MongoDB有任何运算符可以做到这一点吗?
最佳答案
您可以使用聚合框架。下面是一个示例:
db.collection.aggregate([
{ '$group':
{
_id:null,
'ChartDashboard':'Usage',
'sumOfData':{$sum:'$Insights.sumOfData'},
'anotherSum':{$sum:'$Insights.sumOfData'}
}
}
])
其结果将是:
{
'_id' : null,
'ChartDashboard' : 'Usage',
'sumOfData' : 10,
'anotherSum' : 15
}