В совокупности у меня есть group
-clause:Добавить нормальную строку или Integer
{ $group: {
_id: { town_id: "$_id.town" },
houses_data: { $push:
{ house_id: "$_id.house_id",
price: {
$divide: ["$sum", "$total"]
}
}
}
}
}
Как это Everthing работает отлично
Но тогда я пытался добавить дополнительное поле description
в houses_data
:
{ house_id: "$_id.house_id",
price: {
$divide: ["$sum", "$total"]
},
description: "thats a house"
}
Сейчас я получаю сообщение об ошибке:
FieldPath '2' doesn't start with $"
Но Описание не поле.
Я хочу добавить описание как статическое значение строки. Итак, в каждом house_data
-array должно быть такое же описание.
Вывод должен выглядеть следующим образом:
{town_id: 13, houses_data: [
{house_id: 5, price: 32, description: "thats a house"},
{house_id: 2, price: 12, description: "thats a house"}
]
}
Что я не так? Благодаря!
Совершенно правильно использовать '$ literal' в предложении group. Он просто должен быть заключен в один из операторов '$ group', таких как' $ push'. – BatScream
Я этого не осознавал. Спасибо за исправление. Если вы добавите это в свой пример, я был бы более чем счастлив, чтобы проголосовать за него как лучший ответ, поскольку он прояснит для всех. – nomDePlum