繁体   English   中英

返回 mongoose $group 聚合查询中出现的所有文档

[英]Return all document occurrences in mongoose $group aggregate query

我当前的查询

aggregate([
                    { $match : { treatment: 'no treatment',baseScore:{$gte:9}} },
                    {"$group":{
                        "_id":{"cveDataMetaIds":"$cveDataMetaIds","baseScore":"$baseScore"},
                        "count":{"$sum":1}
                      }
                    }
                    ])

返回此结果

[{
    _id: {
      cveDataMetaIds: 'CVE-2021-30820',
      baseScore: 9.8
    },
    count: 2
  },
  {
    _id: {
      cveDataMetaIds: 'CVE-2021-33757',
      baseScore: 9.8
    },
    count: 1
  }

]

我想知道是否可以像这样打印它,以便在它下面的数组中显示计数,例如 count=2 和两个文档?

[{
    _id: {
      cveDataMetaIds: 'CVE-2021-30820',
      baseScore: 9.8
    },
    count: 2,
    data:[
    {first occurrence data},
    {second occurrence data}
    ]
  }
]

您可以通过将整个文档推送到字段数组中来收集整个文档。 $$ROOT 将为您提供“循环”文档。 未经测试!

aggregate([
                    { $match : { treatment: 'no treatment',baseScore:{$gte:9}} },
                    {"$group":{
                        "_id":{"cveDataMetaIds":"$cveDataMetaIds","baseScore":"$baseScore"},
                        "count":{"$sum":1},
                        "data" : {$push : "$$ROOT"}
                      }
                    }
                    ])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM