Mongodb restheart 2-聚合错误
我们有一个在restheart 1.1.0中工作的聚合操作,但现在在2.0.2中没有。为了处理动态代码生成,我们一直在聚合操作中使用变量。下面是一个简单的例子。这个问题有解决办法吗 以下是聚合操作:Mongodb restheart 2-聚合错误,mongodb,mongodb-query,aggregation-framework,mongodb-aggregation,restheart,Mongodb,Mongodb Query,Aggregation Framework,Mongodb Aggregation,Restheart,我们有一个在restheart 1.1.0中工作的聚合操作,但现在在2.0.2中没有。为了处理动态代码生成,我们一直在聚合操作中使用变量。下面是一个简单的例子。这个问题有解决办法吗 以下是聚合操作: { "type" : "pipeline", "uri" : "agg_companies", "stages" : [ { "_$match" : { "_$var" :
{
"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"}]}}
RESTHeart不允许AVAR包含运算符(任何以$开头的键) 这是为了避免客户端将逻辑注入聚合并最终修改它
考虑一下可能用于窥探受限数据的$lookup运算符…RESTHeart不允许AVAR包含运算符(任何以$开头的键) 这是为了避免客户端将逻辑注入聚合并最终修改它 考虑一下$lookup操作符,它可能用于窥探受限制的数据