|
|
@@ -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
|
|
|
|
|
|
Параметр упорядочивает выборку по указанным свойствам модели. Обратное
|