Проблема агрегации с жестко закодированным $ или $match
Я создал другую агрегацию, как показано ниже
"_id" : "_properties.user",
"aggrs" : [
{
"type" : "pipeline",
"uri" : "gettest1",
"stages" : [
{
"_$match" : {
"_$or" : [
{
"_$var" : "filter_query"
}
]
}
},
{
"_$project" : {
"_id" : 1,
"id" : 1,
"fname" : 1,
"lname" : 1
}
}
]
}
],
"_etag" : ObjectId("59ccb40a7889b1216c447f8f")
}
это агрегация, основанная на статических (жестко закодированных) $or
состояние $match
выше, когда я запускаю запрос ниже
http get http://127.0.0.1:8080/idfc_test/user/_aggrs/gettest1?avars={"filter_query":{"fname":/.*sak.*/i},"lname":/.*ad.*/i}}
он возвращается хорошо, но отображает / ведет себя иначе, как если бы возвращаемые записи основывались на $, а операции не на $, или на операциях, например, поле fname первой строки имеет значение 'sakshee', а поле lname второй строки имеет значение 'admin', поэтому '$ или операция должна завершиться на основе вышеупомянутого запроса, но она возвращает 0 записей, пожалуйста, посмотрите выше. Пожалуйста, предоставьте мне решение для этого