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

Posted

技术标签:

【中文标题】MongoDB - 多个查询和单个文档结果【英文标题】:MongoDB - Multiple query and single document result 【发布时间】:2017-03-13 07:35:44 【问题描述】:

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

网站集:


 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 有任何运算符可以做到这一点?

【问题讨论】:

为此使用聚合。看看$group 运算符 嗯,是的!这很有帮助 【参考方案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 

【讨论】:

以上是关于MongoDB - 多个查询和单个文档结果的主要内容,如果未能解决你的问题,请参考以下文章

Mongodb通过单个查询在Document和subDocument中搜索

在单个聚合查询 mongodb 中组合多个 $samples

MongoDB - 对时间序列子文档进行范围查询

如何使用 C# 驱动程序在 MongoDB 中更新和更新多个文档

从 MongoDB 和 Mongoose 中的多个文档创建单个文档

Mongodb 关于update和findAndModify