0
我已经阅读了有关在mongo聚合中使用$let
的内容。但所有示例仅在$project
阶段使用$let
阶段。我想知道$match
聚合阶段内是否可以使用$let
?下面是一个简单的例子:
var Color = "Black";
db.mydata.aggregate([
{ "$match": {
"Category": "MyCategory",
"Location":"London",
"Color": $let: {
vars: {
"Color": Color
},
in: {
"$$Color"
}
}
}},
// other stages as group, project and sort
...
])
上述抱怨Expected expression...
所以是有可能以某种方式使用$let
内$match
或聚合的其他阶段?
EDIT:
这并不工作,以及:
var Color = "Black";
db.mydata.aggregate([
{ "$match": {
"Category": "MyCategory",
"Location":"London",
"Color": "$$Color"
}},
// other stages as group, project and sort
...
])
但根据https://docs.mongodb.com/v3.2/reference/aggregation-variables/它应注意什么? 最好的问候
有什么目的? – hyades
@hyades使用聚合之外的用户定义变量动态创建聚合查询。 – user1665355
可以这样做,它可以是''颜色':颜色'什么是确切的目的? – hyades