0
私は$let
をmongoアグリゲーションで使用しています。しかし、すべての例では$let
が$project
ステージ内にのみ使用されています。私は$let
の中に$match
凝集の段階を使用することができるのだろうか?ここでは簡単な例です:
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
これは、ここで "Color":Color "とすることができます。正確な目的は何ですか? – hyades