Hy, я использую Compass в качестве инструмента для MongoDb.
Теперь у меня есть массив с действительными статусами для продукта, и как только продукт получает новый статус, я добавляю его в ' массив статуса.
Мне нужно извлечь объект с датами, когда каждое состояние было добавлено в массив, см. Образец ниже:
{
_id: ObjectId("5e8f7ddb4af84bbb7431bc61"),
Status: [`enter code here`
{
_id: ObjectId("5e8f7ddb4af84bbb7431bc62"),
Last: 'Added',
Date: '2020-04-20 08:30:00'
},
{
_id: ObjectId("5e8f7ddb4af84bbb7431bc63"),
Last: 'Proccessed',
Date: '2020-04-20 09:30:00'
},
{
_id: ObjectId("5e8f7ddb4af84bbb7431bc64"),
Last: 'Concluded',
Date: '2020-04-20 14:00:00'
},
{
_id: ObjectId("5e8f7ddb4af84bbb7431bc65"),
Last: 'Finished',
Date: '2020-04-20 14:30:00'
}
]
}
Мне нужно извлечь массив объекта для каждый такой продукт:
[{
_id: ObjectId("5e8f7ddb4af84bbb7431bc61"),
Added: '2020-04-20 08:30:00',
Proccessed: '2020-04-20 09:30:00',
Concluded: '2020-04-20 14:00:00',
Finished: '2020-04-20 14:30:00
}]
Как мне добиться этого с помощью агрегации? Заранее благодарим за помощь.