首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongodb聚合$facet

Mongodb聚合$facet
EN

Stack Overflow用户
提问于 2022-10-05 11:07:19
回答 1查看 89关注 0票数 0

我试图使用聚合管道的$facet阶段来匹配和分组文档,但我怀疑我的语法已经过时了。

有人能告诉我这个有什么问题吗?继续收到“管道级规范对象必须包含精确的一个字段”的消息。

代码语言:javascript
复制
[
  {
   '$match': {
   'Id': 59
  }
  }, {
   '$unwind': {
   'path': '$Vehicles'
 }
 }, {

    // It's this stage that's playing up.
    '$facet': {
       'Offers': [
         {
            '$match': { 'Vehicles.VehicleGrouping': 'OOTW' }, 
            '$group': {
                '_id': '$Vehicles.Manufacturer', 
                'count': { '$sum': 1 }
            }
         }
       ]
     }
     // End of problematic stage.

   }
 ]

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-05 11:09:57

您已经将$match$group放在一个对象中,尝试如下:

代码语言:javascript
复制
db.collection.aggregate([
  {
    "$match": {
      "Id": 59
    }
  },
  {
    "$unwind": {
      "path": "$Vehicles"
    }
  },
  {
    // It's this stage that's playing up.
    "$facet": {
      "Offers": [
        {
          "$match": {
            "Vehicles.VehicleGrouping": "OOTW"
          }
        },
        {
          "$group": {
            "_id": "$Vehicles.Manufacturer",
            "count": {
              "$sum": 1
            }
          }
        }
      ]
    }  
  }
])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73959497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档