Мне нужно, чтобы значения были изменены как часть структуры агрегации в MongoDB.Поля агрегирования MongoDB Дополнение
Здесь ниже мой код: -
db.coln.aggregate(
{$match: {"year" : "2010","companyName" :/ABC/}},
{$unwind:"$hierarchy"},
{$unwind:"$hierarchy.Details" },
{
$group:
{ "_id":
{"companyName": "$companyName",
"year": "$year",
"costHead": "$hierarchy.originalName"},
"total": { "$sum": "$hierarchy.Details.values" }}
},
{$project: {_id:0, "Firm":"$_id.companyName", "Year":"$_id.year","costHead":"$_id.costHead", "Total":"$total"}})
В вышеприведенном рамках агрегации. Вот мой ResultSet: -
{Фирма: "ABC" Год: "2010", costHead: "Mnfc", Всего: 5000}
Теперь результаты хороши для 3-го, кроме field - costHead: Mnfc. Я бы хотел заменить «Mnfc» на «Manufacturing».
Я попробовал несколько способов сделать это.
Я попытался использовать (cond и if) в разделе группы, но это испортило группировку.
Я пробовал использовать cond и if в проекте, но он просто ничего не производит, поскольку оператор $ проекции может проектировать только то, что передается с предыдущих уровней, а не генерировать его.
Из идей здесь. Любая помощь будет оценена.
С уважением Марио
Спасибо за решение, но я думаю, что я должен был четко указать это в самой проблеме. Это намного больше, чем это. Это в конце концов - ETl, который я пытаюсь сделать здесь, используя структуру агрегации: - – Mario
Это сработало, .. Спасибо – Mario