我正在创建一个数据洞察仪表板,我有许多数据和存储的计数,但是我需要将其合并到一个文档中。 (很难用语言来解释),例如

网站集:

{
 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
}

10-04 14:05