Динамический оператор $ in на основе переменной - PullRequest
1 голос
/ 19 июня 2019

У меня есть переменная, и на основании этого значения я хотел бы изменить оператор $ in в запросе Монго.

Мой код -

var query_op = "$in";
if (criteria.group === "abc")
{
var query_op = "$nin";
}

А затем

var query = Model.find(
                {
                    _id:
                        {
                            $in: query_op 
                        }
                        ,
...........................
});

Можно ли использовать таким образом?

Любая помощь высоко ценится.

1 Ответ

1 голос
/ 19 июня 2019

Я думаю, что в JavaScript вы можете динамически определять ключ объекта, используя квадратные скобки, попробуйте:

var query_op = "$in";
if (criteria.group === "abc")
{
    var query_op = "$nin";
}

var query = Model.find(
            {
                _id:
                    {
                        [query_op]: listOfIds
                    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...