Как я могу найти все записи, где поле $ type не равно 'date'? - PullRequest
0 голосов
/ 31 марта 2020

Я хочу получить все записи из коллекции, там удалено неверно, а $ type для 'startDate' или 'endDate' не является 'date'. Я пытаюсь использовать этот запрос поиска:

{
        '$and' :
            {
                {'deleted' : {'$ne' : true}},
                {
                    '$or' :
                        {
                            {'startDate' : {'$type' : {'$ne' : 'date'}}},
                            {'endDate' : {'$type' : {'$ne' : 'date'}}},
                        }
                }
            }
    }

Но я получаю ошибку: "аргумент типа $ не является числом или строкой" . Как я могу получить желаемый результат?

1 Ответ

0 голосов
/ 31 марта 2020

Ваши $type и $ne неверны. Попробуйте что-то вроде этого:

{
  $and: [
    { deleted: { $ne: true } },
    {
      $or: [
        { startDate: { $not: { $type: "date" } } },
        { endDate: { $not: { $type: "date" } } }
      ]
    }
  ];
}

Я изменил порядок $type и $ne и изменил $ne на $not. Я также поменял объекты для массивов в ваших запросах $and и $or.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...