MongoDB - 多个查询和单个文档结果

时间:2017-03-13 07:35:45

标签: javascript node.js mongodb mongoose query-optimization

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

网站集:

{
 Name: "..."
 ApiKey: "SomeUnique1"
 Insights:
 {
   sumOfData: 5,
   anotherSum: 14
 }
},
{
     Name: "..."
     ApiKey: "SomeUnique2"
     Insights:
     {
       sumOfData: 5,
       anotherSum: 1
     }
    },...

我想检索下一个下列数据:

{
     ChartDashboard: "Usage"
     Insights:
     {
       sumOfData: 10,
       anotherSum: 15
     }
    }

我读到$和运算符可以检索一些ApiKey的属性,但MongoDB有任何运算符来实现这个吗?

1 个答案:

答案 0 :(得分:1)

您可以使用聚合框架。一个例子如下:

db.collection.aggregate([
{ '$group':
   {
    _id:null, 
   'ChartDashboard':'Usage',
   'sumOfData':{$sum:'$Insights.sumOfData'},
   'anotherSum':{$sum:'$Insights.sumOfData'}
   }
}
])

,结果将是:

{
    '_id' : null,
    'ChartDashboard' : 'Usage',
    'sumOfData' : 10,
    'anotherSum' : 15 
}