e22m4u 1 месяц назад
Родитель
Сommit
8818c3650f
1 измененных файлов с 34 добавлено и 4 удалено
  1. 34 4
      README.md

+ 34 - 4
README.md

@@ -1137,7 +1137,8 @@ const userProfile = await userRepository.findOne({
 
 ##### `like`
 
-Выполняет сопоставление с шаблоном, с учетом регистра.
+Выполняет сопоставление с шаблоном, с учетом регистра
+(см. [подробнее](#операторы-сопоставления-с-шаблоном)).
 
 ```javascript
 // найдет {name: 'John Doe'}, но не {name: 'john doe'}
@@ -1150,7 +1151,8 @@ const res = await rep.find({
 
 ##### `nlike` (NOT LIKE)
 
-Находит документы, которые не соответствуют шаблону, с учетом регистра.
+Находит документы, которые не соответствуют шаблону, с учетом регистра
+(см. [подробнее](#операторы-сопоставления-с-шаблоном)).
 
 ```javascript
 // найдет все, кроме тех, что начинаются на 'John'
@@ -1163,7 +1165,8 @@ const res = await rep.find({
 
 ##### `ilike` (ILIKE)
 
-Выполняет сопоставление с шаблоном без учета регистра.
+Выполняет сопоставление с шаблоном без учета регистра
+(см. [подробнее](#операторы-сопоставления-с-шаблоном)).
 
 ```js
 // найдет {name: 'John Doe'} и {name: 'john doe'}
@@ -1176,7 +1179,8 @@ const res = await rep.find({
 
 ##### `nilike` (NOT ILIKE)
 
-Находит строки, которые не соответствуют шаблону, без учета регистра.
+Находит строки, которые не соответствуют шаблону, без учета регистра
+(см. [подробнее](#операторы-сопоставления-с-шаблоном)).
 
 ```js
 // найдет все, кроме тех, что начинаются на 'John' или 'john'
@@ -1187,6 +1191,32 @@ const res = await rep.find({
 });
 ```
 
+#### Операторы сопоставления с шаблоном
+
+Операторы `like`, `nlike`, `ilike`, `nilike` предназначены для фильтрации
+строковых свойств на основе сопоставления с шаблоном, подобно оператору
+`LIKE` в SQL. Они позволяют находить значения, которые соответствуют
+определённой структуре, используя специальные символы.
+
+**`%`** соответствует любой последовательности из нуля или более символов:
+
+- `'А%'` найдет все строки, начинающиеся на "А";  
+- `'%а'` найдет все строки, заканчивающиеся на "а";  
+- `'%слово%'` найдет все строки, содержащие "слово" в любом месте;
+
+**`_`** соответствует ровно одному любому символу:
+
+- `'к_т'` найдет "кот", "кит", но не "крот" или "кт";
+- `'кот_'` найдет "коты", "коту" и "кота", но не "кот" или "котов";
+
+Если нужно найти сами символы `%` или `_` как часть строки, их необходимо
+экранировать с помощью обратного слэша `\`:
+
+- `'100\%'` найдет строку "100%";
+- `'file\_name'` найдет строку "file_name";
+- `'path\\to'` найдет строку "path\to";
+
+
 ### order
 
 Параметр упорядочивает выборку по указанным свойствам модели. Обратное