Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MongoDB-多查询和单文档结果_Javascript_Node.js_Mongodb_Mongoose_Query Optimization - Fatal编程技术网

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

Javascript MongoDB-多查询和单文档结果,javascript,node.js,mongodb,mongoose,query-optimization,Javascript,Node.js,Mongodb,Mongoose,Query Optimization,我正在创建一个insights仪表板,我有很多数据和存储的数据,但我需要将其整合到一个文档中。(嗯很难用语言来解释) 网站集: { Name: "..." ApiKey: "SomeUnique1" Insights: { sumOfData: 5, anotherSum: 14 } }, { Name: "..." ApiKey: "SomeUnique2" Insights: { sumOfData: 5,

我正在创建一个insights仪表板,我有很多数据和存储的数据,但我需要将其整合到一个文档中。(嗯很难用语言来解释)

网站集:

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

为此使用聚合。看一下操作员嗯,是的!,这很有帮助