如何展平聚合结果

2024-05-23 18:21:18 发布

您现在位置:Python中文网/ 问答频道 /正文

MongoDB:3.6+

我有一个Pymongo/MongoDB查询:

    _data = db['history'].aggregate([
        {'$lookup': 
            {
                'from': 'mgmt_item',
                'localField': 'id_mgmt_item',
                'foreignField' : 'old_id',
                'as': 'mgmt_item'
            }
        },
        {'$match': query},
        {'$project': projection}
    ])

我得到以下结果,是正确的。你知道吗

{ 
   "_id":"a4f2a993-749d-4b27-a9bd-c5950babd1bf",
   "id_mgmt_item":3,
   "value":99.660095,
   "image_path":"https://url/a4f2a993-749d-4b27-a9bd-c5950babd1bf.jpg",
   "mgmt_item":[ 
      { 
         "lang":{ 
            "pt_BR":"Descrição..."
         }
      }
   ]
}

但是,我想把结果展平,使其具有管理的价值_item.lang.pt\BR作为管理项目的值,如下所示:

{ 
   "_id":"a4f2a993-749d-4b27-a9bd-c5950babd1bf",
   "id_mgmt_item":3,
   "value":99.660095,
   "image_path":"https://url/a4f2a993-749d-4b27-a9bd-c5950babd1bf.jpg",
   "mgmt_item":"Descrição..."
}

我应该在查询中做什么更改以获得所需的结果?你知道吗


Tags: pathhttpsimageptidurllangvalue