Проблема агрегации с жестко закодированным $ или $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 записей, пожалуйста, посмотрите выше. Пожалуйста, предоставьте мне решение для этого

0 ответов

Другие вопросы по тегам