Browse Source

chore: updates README.md

e22m4u 1 month ago
parent
commit
87a10c002a
1 changed files with 195 additions and 14 deletions
  1. 195 14
      README.md

+ 195 - 14
README.md

@@ -1096,10 +1096,173 @@ const news = await newsRepository.find({
 
 *i. Условия можно объединять операторами `and`, `or` и `nor`.*
 
-##### `like`
+#### Поиск по значению (сокращенная форма)
 
-Выполняет сопоставление с шаблоном, с учетом регистра
-(см. [подробнее](#операторы-сопоставления-с-шаблоном)).
+Находит документы, у которых значение указанного свойства в точности равно
+переданному значению. Это сокращенная запись для оператора `{eq: ...}`.
+
+```javascript
+// найдет все документы, где age равен 21
+const res = await rep.find({
+  where: {
+    age: 21,
+  },
+});
+```
+
+#### `eq`
+
+Оператор строгого равенства. Находит документы, у которых значение свойства
+равно указанному.
+
+```javascript
+// найдет все документы, где age равен 21
+const res = await rep.find({
+  where: {
+    age: {eq: 21},
+  },
+});
+```
+
+#### `neq`
+
+Оператор неравенства. Находит документы, у которых значение свойства не равно
+указанному.
+
+```javascript
+// найдет все документы, где age не равен 21
+const res = await rep.find({
+  where: {
+    age: {neq: 21},
+  },
+});
+```
+
+#### `gt`
+
+Оператор "больше чем" (Greater Than). Находит документы, у которых значение
+свойства строго больше указанного.
+
+```javascript
+// найдет документы, где age больше 30
+const res = await rep.find({
+  where: {
+    age: {gt: 30},
+  },
+});
+```
+
+#### `lt`
+
+Оператор "меньше чем" (Less Than). Находит документы, у которых значение
+свойства строго меньше указанного.
+
+```javascript
+// найдет документы, где age меньше 30
+const res = await rep.find({
+  where: {
+    age: {lt: 30},
+  },
+});
+```
+
+#### `gte`
+
+Оператор "больше или равно" (Greater Than or Equal). Находит документы,
+у которых значение свойства больше или равно указанному.
+
+```javascript
+// найдет документы, где age больше или равен 30
+const res = await rep.find({
+  where: {
+    age: {gte: 30},
+  },
+});
+```
+
+#### `lte`
+
+Оператор "меньше или равно" (Less Than or Equal). Находит документы, у которых
+значение свойства меньше или равно указанному.
+
+```javascript
+// найдет документы, где age меньше или равен 30
+const res = await rep.find({
+  where: {
+    age: {lte: 30},
+  },
+});
+```
+
+#### `inq`
+
+Оператор "в списке" (In Query). Находит документы, у которых значение свойства
+совпадает с одним из значений в предоставленном массиве.
+
+```javascript
+// найдет документы, где name - 'John' или 'Mary'
+const res = await rep.find({
+  where: {
+    name: {inq: ['John', 'Mary']},
+  },
+});
+```
+
+#### `nin`
+
+Оператор "не в списке" (Not In Query). Находит документы, у которых значение
+свойства отсутствует в предоставленном массиве.
+
+```javascript
+// найдет все документы, кроме тех, где name - 'John' или 'Mary'
+const res = await rep.find({
+  where: {
+    name: {nin: ['John', 'Mary']},
+  },
+});
+```
+
+#### `between`
+
+Находит документы, у которых значение свойства находится в указанном диапазоне
+(включая границы).
+
+```javascript
+// найдет документы, где age находится в диапазоне от 20 до 30 включительно
+const res = await rep.find({
+  where: {
+    age: {between: [20, 30]},
+  },
+});
+```
+
+#### `exists`
+
+Проверяет наличие (или отсутствие) свойства в документе. Не проверяет значение
+свойства.
+
+- `true` свойство должно существовать (даже если его значение `null`);
+- `false` свойство должно отсутствовать;
+
+```javascript
+// найдет документы, у которых есть свойство 'nickname'
+const res1 = await rep.find({
+  where: {
+    nickname: {exists: true},
+  },
+});
+
+// найдет документы, у которых нет свойства 'nickname'
+const res2 = await rep.find({
+  where: {
+    nickname: {exists: false},
+  },
+});
+```
+
+#### `like`
+
+Выполняет сопоставление с шаблоном, с учетом регистра (см. [подробнее](#операторы-сопоставления-с-шаблоном)).
 
 ```javascript
 // найдет {name: 'John Doe'}, но не {name: 'john doe'}
@@ -1110,10 +1273,9 @@ const res = await rep.find({
 });
 ```
 
-##### `nlike` (NOT LIKE)
+#### `nlike`
 
-Находит документы, которые не соответствуют шаблону, с учетом регистра
-(см. [подробнее](#операторы-сопоставления-с-шаблоном)).
+Находит документы, которые не соответствуют шаблону, с учетом регистра (см. [подробнее](#операторы-сопоставления-с-шаблоном)).
 
 ```javascript
 // найдет все, кроме тех, что начинаются на 'John'
@@ -1124,12 +1286,11 @@ const res = await rep.find({
 });
 ```
 
-##### `ilike` (ILIKE)
+#### `ilike`
 
-Выполняет сопоставление с шаблоном без учета регистра
-(см. [подробнее](#операторы-сопоставления-с-шаблоном)).
+Выполняет сопоставление с шаблоном без учета регистра (см. [подробнее](#операторы-сопоставления-с-шаблоном)).
 
-```js
+```javascript
 // найдет {name: 'John Doe'} и {name: 'john doe'}
 const res = await rep.find({
   where: {
@@ -1138,12 +1299,11 @@ const res = await rep.find({
 });
 ```
 
-##### `nilike` (NOT ILIKE)
+#### `nilike`
 
-Находит строки, которые не соответствуют шаблону, без учета регистра
-(см. [подробнее](#операторы-сопоставления-с-шаблоном)).
+Находит строки, которые не соответствуют шаблону, без учета регистра (см. [подробнее](#операторы-сопоставления-с-шаблоном)).
 
-```js
+```javascript
 // найдет все, кроме тех, что начинаются на 'John' или 'john'
 const res = await rep.find({
   where: {
@@ -1152,6 +1312,27 @@ const res = await rep.find({
 });
 ```
 
+#### `regexp`
+
+Находит документы, у которых значение строкового свойства соответствует
+указанному регулярному выражению. Может быть передано в виде строки или
+объекта `RegExp`.
+
+```javascript
+// найдет документы, где name начинается с 'J'
+const res1 = await rep.find({
+  where: {
+    name: {regexp: '^J'},
+  },
+});
+
+// найдет документы, где name начинается с 'J' или 'j' (регистронезависимо)
+const res2 = await rep.find({
+  where: {
+    name: {regexp: '^j', flags: 'i'},
+  },
+});
+
 #### Операторы сопоставления с шаблоном
 
 Операторы `like`, `nlike`, `ilike`, `nilike` предназначены для фильтрации