在總我有一個group
-clause:添加正常字符串或整數
{ $group: {
_id: { town_id: "$_id.town" },
houses_data: { $push:
{ house_id: "$_id.house_id",
price: {
$divide: ["$sum", "$total"]
}
}
}
}
}
像這種寄託都工作正常
但後來我試圖在houses_data
添加額外的場description
:
{ house_id: "$_id.house_id",
price: {
$divide: ["$sum", "$total"]
},
description: "thats a house"
}
現在,我得到一個錯誤:
FieldPath '2' doesn't start with $"
但是說明不是字段。
我想將說明添加爲靜態字符串值。 所以在每個house_data
-陣列中,應該有相同的描述。
輸出應該像這樣:
{town_id: 13, houses_data: [
{house_id: 5, price: 32, description: "thats a house"},
{house_id: 2, price: 12, description: "thats a house"}
]
}
什麼我錯了嗎?謝謝!
在group子句中使用'$ literal'是完全正確的。它只需要被'$ push'之類的'$ group'操作符所包圍。 – BatScream
我沒有意識到這一點。感謝您的更正。如果你把這一點加到你的例子中,我會非常樂意投票,因爲它可以爲所有人澄清更好的答案。 – nomDePlum