mongodb - запрос для поиска точного соответствия, но без учета регистра - что с ним не так? - PullRequest
0 голосов
/ 01 апреля 2020

что не так с этим запросом?

       db.collection.find( { "name" : "/^test$/i", "group" : "/^Default$/i"} )

Я пытаюсь найти объект с именем = test, group = default, но без учета регистра. но я не получаю результат, хотя я знаю, что у меня есть этот документ в базе данных:

Я использовал точно так же, как на сайте mon go, это объясняется: В MongoDB вы также можете использовать объекты регулярных выражений (т.е. pattern /) для указания регулярных выражений:

 { <field>: /pattern/<options> }

1 Ответ

1 голос
/ 01 апреля 2020

Запрос по своей сути правильный, у вас просто небольшая синтаксическая ошибка.

В javascript (на которой основана оболочка Mon go), регулярное выражение имеет форма /xxx/, а не "/xxx/", а лестница - выражение string.

Так что просто измените свой запрос на:

db.collection.find( { "name" : /^test$/i, "group" : /^Default$/i} )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...