Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
{ < field >: { $ regex : / pattern / , $ options : ‘’ } }
{ < field >: { $ regex : ‘pattern’ , $ options : ‘’ } }
{ < field > : { $ regex : / pattern / < options > } }
(Выберите один из трех способов написания выше)
1. Нечеткий запрос о том, что документ содержит определенное поле: использовать sql Как написать
select * from member where name like '%XXX%'
В монгодб:db.member.find({"name":{ $regex:/XXX/ }})
2. Запросить документы, начинающиеся с определенного поля.
db.member.find({"name":{$regex:/^XXX/}})
3. Запрос документов, заканчивающихся определенным полем.
db.member.find({"name":{$regex:/XXX^/}})
4. Запрос игнорирует регистр
db.member.find({"name":{$regex:/XXX/i}})
Вот i Это относится к тому, что в верхней грамматике options ценить i Это опция, означающая игнорирование регистра. здесь options Также имеются следующие параметры для использования:
Параметры | описывать | Синтаксические ограничения |
---|---|---|
i | Нечувствительность к регистру используется для сопоставления верхнего и нижнего регистра. | |
m | Для шаблонов, содержащих привязки (например, ^ для начала,$end), сопоставляет строки с многострочными значениями в начале или конце каждой строки. Без этого параметра эти привязки будут соответствовать началу или концу строки.,Этот mПараметры не имеет никакого эффекта, если шаблон не содержит привязки или строковое значение не имеет символа новой строки (например, \n). | |
x | Функция «extend» $regex игнорирует все пробельные символы в шаблоне, если они не экранированы или не включены в класс символов. Кроме того, он игнорирует промежуточные символы, включая неэкранированные хеши. / символ решетки (#) и следующую новую строку, чтобы можно было включать комментарии в сложные шаблоны. Это работает только с символами данных; Символы пробела никогда не должны появляться в последовательности специальных символов в шаблоне. ДолженxПараметрыне влияетVTОбработка символов(то есть код11)。 | Требуется синтаксис $regex и $options. |
s | Символу точки (т.е. .) разрешено соответствовать всем символам, включая символы новой строки. Пример см. в разделе Использование. Точки соответствуют новым линиям. | Требуется синтаксис $regex и $options. |
Примечание. Выражение оператора использования $in нельзя использовать внутри $regex;
Также: если поля нечеткого запроса проиндексированы, скорость запроса будет выше.
Для получения дополнительной информации обратитесь к официальной документации MongoDB.,Нажмите, чтобы просмотреть
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/139141.html Оригинальная ссылка: https://javaforall.cn