Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
{ < 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