Изменение выходных данных запроса агрегации, где ключом является имя поля из базы данных.
Я попробовал следующее:
Как использовать значение поля в качестве имени ключа в результате Mongodb
Но это приводит к следующей ошибке:
MongoError: $ arrayToObject требует объектных ключей 'k' и 'v'. Найдено неверное количество ключей: 1
var data = await Message.aggregate([
{
$group: {
_id: '$message',
last_message: { $last: '$date_create', },
conversation: {
$push: '$$ROOT',
},
},
},
{
$project: {
input: { $arrayElemAt: ['$conversation.message', 0] },
output: { $arrayElemAt: ['$conversation.mainTopic', 0] },
_id: 0,
},
},
{ $sort: { last_message: -1 } },
]);
Я хочу изменить выход с (текущий результат):
{
«вход»: «тест»,
«вывод»: «общий»
},
TO:
{
«вход»: «тест»,
«output»: {general: 1,},
},