restheart 1.1.0 では機能していた集約操作がありますが、2.0.2 では機能しません。動的コード生成を処理するために、集計操作で変数を使用しています。以下は簡単な例です。この問題の回避策はありますか?
集計操作は次のとおりです。
{
"type" : "pipeline",
"uri" : "agg_companies",
"stages" : [
{
"_$match" : {
"_$var" : "filter_query"
}
},
{
"_$group" : {
"_id" : "$organization._id",
"name" : {
"_$first" : "$organization.name"
}
}
},
{
"_$sort" : {
"name" : NumberInt(1)
}
}
]
}
次のノードを使用して、集約にリクエストを作成しています。
これは機能します:
var avars = {filter_query: {travelerLastName: "Brewer"}};
これは失敗します:
var avars = {filter_query: {travelerLastName: {$and: ["Brewer"]}}};
エラー:
{ "_links" : { "self" : { "href" : "/foresiteamo/flight/_aggrs/agg_companies2"}} , "http status code" : 400 , "http status description" : "Bad Request" , "message" : "illegal avars paramenter: {\'filter_query\':{\'travelerLastName\':{\'$and\':[\'Brewer\']}}}" , "_embedded" : { "rh:exception" : [ { "exception" : "java.lang.SecurityException" , "exception message" : "aggregation variables cannot include operators"}]}}