Я хотел бы эффективно добавить свойство, которое является объектом, в документ (который также является объектом), прежде чем отправлять окончательный документ в ответ пользователю.
Новое свойство, которое я хочу добавить, в основном берет последний объект в массиве с именем «history», который находится в корне документа, и заполняет его свойством под названием «activeStatus», также в корне документа. .
Для этого я попытался использовать Object.assign
примерно так:
if (doc) {
const appendedDoc = Object.assign({ activeStatus: doc.history.slice(-1)[0] }, doc);
doc = appendedDoc;
}
res.send(doc);
Но я получаю дополнительные метаданные в своем окончательном документе - включая получателей, статус строгого режима и т. Д.
Как я могу сделать это так, чтобы вернуть чистый документ, который я хочу.
Кстати, мой первоначальный документ выглядит так:
{
"_id": <id value>,
"type": "permanent",
"gender": "female",
"history": [
{
"endDate": "2018-10-31T12:27:17.721Z",
"stage": "training",
"completed": true,
"startDate": "2018-10-30T13:41:18.714Z"
},
{
"stage": "active",
"completed": false,
"startDate": "2018-10-31T12:27:17.572Z"
}
]
}
И вот документ, который я хочу изготовить:
{
"_id": <id value>,
"type": "permanent",
"gender": "female",
"history": [
{
"endDate": "2018-10-31T12:27:17.721Z",
"stage": "training",
"completed": true,
"startDate": "2018-10-30T13:41:18.714Z"
},
{
"stage": "employed",
"completed": false,
"startDate": "2018-10-31T12:27:17.572Z"
}
],
"activeStatus": {
"stage": "employed",
"completed": false,
"startDate": "2018-10-31T12:27:17.572Z"
}
}