嵌套数组上的mongodb聚合和排序

问题描述 投票:2回答:1

下面是我的mongo db文档结构

{
"product_json": {
"productId": 1,
"productData": [
  {
    "productName": "A",
    "productDetails": [
      {
        "manufacturedDate": "2014-08-09",
        "name": "A1",
        "size": 300
      },
      {
        "manufacturedDate": "2012-08-09",
        "name": "A2",
        "size": 200
      }
    ]
  },
  {
    "productName": "B",
    "productDetails": [
      {
        "manufacturedDate": "2015-08-09",
        "name": "B1",
        "size": 300
      },
      {
        "manufacturedDate": "2017-08-09",
        "name": "B2",
        "size": 200
       }
     ]
   }
 ]
}
}

我需要在“manufactDate”上进行分组并应用排序。我也不希望整个文档匹配。只匹配对象(匹配的productDetails对象)。

mongodb sorting group-by aggregate
1个回答
0
投票

试试这个查询:

db.collection.aggregate(
   [
    {$sort:  {'product_json.productData.productDetails.manufacturedDate': 1}}, 
    { $group:{
      "_id": "$product_json.productData.productDetails.manufacturedDate"
            }
    }
   ]
);
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.