|
|
@@ -80,7 +80,7 @@ const {DatabaseSchema} = require('@e22m4u/js-repository');
|
|
|
«один к одному», «один ко многим» и другие типы отношений между моделями.
|
|
|
|
|
|
Непосредственно чтение и запись данных производится с помощью *репозитория*,
|
|
|
-который имеет каждая модель с объявленным *источником данных*. Репозиторий
|
|
|
+который есть у каждой модели с объявленным *источником данных*. Репозиторий
|
|
|
может фильтровать запрашиваемые документы, выполнять валидацию свойств
|
|
|
согласно определению модели, и встраивать связанные данные в результат
|
|
|
выборки.
|
|
|
@@ -310,8 +310,8 @@ dbs.defineModel({
|
|
|
|
|
|
Если значением параметра `unique` является `true` или `'strict'`, то выполняется
|
|
|
строгая проверка на уникальность. В этом режиме [пустые значения](#Пустые-значения)
|
|
|
-так же подлежат проверке, где `null` и `undefined` не могут повторяться более одного
|
|
|
-раза.
|
|
|
+так же подлежат проверке, где `null` и `undefined` также считаются значениями,
|
|
|
+которые должны быть уникальными.
|
|
|
|
|
|
Режим `'sparse'` проверяет только значения с полезной нагрузкой, исключая
|
|
|
[пустые значения](#Пустые-значения), список которых отличается в зависимости
|
|
|
@@ -407,8 +407,8 @@ dbs.defineModel({
|
|
|
|
|
|
Валидаторы указанные ниже находятся в разработке:
|
|
|
|
|
|
-- `isLowerCase` проверка регистра (только прописные буквы);
|
|
|
-- `isUpperCase` проверка регистра (только строчные буквы);
|
|
|
+- `isLowerCase` проверка регистра (только строчные буквы);
|
|
|
+- `isUpperCase` проверка регистра (только прописные буквы);
|
|
|
- `isEmail` проверка формата электронного адреса;
|
|
|
|
|
|
**Примеры**
|
|
|
@@ -505,7 +505,7 @@ import {Errorf} from '@e22m4u/js-format';
|
|
|
import {PropertyValidatorRegistry} from '@e22m4u/js-repository';
|
|
|
|
|
|
// получение экземпляра сервиса
|
|
|
-const pvr = dbs.get(PropertyValidatorRegistry);
|
|
|
+const pvr = dbs.getService(PropertyValidatorRegistry);
|
|
|
|
|
|
// регулярные выражения для разных версий UUID
|
|
|
const uuidRegex = {
|
|
|
@@ -903,13 +903,13 @@ dbs.defineModel({
|
|
|
|
|
|
## Пустые значения
|
|
|
|
|
|
-Разные типы свойств имеют свои наборы пустых значений. Эти наборы
|
|
|
-используются для определения наличия полезной нагрузки в значении
|
|
|
-свойства. Например, параметр `default` в определении свойства
|
|
|
-устанавливает значение по умолчанию, только если входящее значение
|
|
|
-является пустым. Параметр `required` исключает пустые значения
|
|
|
-выбрасывая ошибку. А параметр `unique` в режиме `sparse` наоборот
|
|
|
-допускает дублирование пустых значений уникального свойства.
|
|
|
+Разные типы свойств имеют свои наборы пустых значений. Эти наборы используются
|
|
|
+для определения наличия полезной нагрузки в значении свойства. Например,
|
|
|
+параметр `default` в определении свойства устанавливает значение по умолчанию,
|
|
|
+только если входящее значение является пустым. Параметр `required` исключает
|
|
|
+пустые значения выбрасывая ошибку. А параметр `unique` в режиме `sparse`
|
|
|
+наоборот допускает дублирование пустых значений уникального свойства,
|
|
|
+поскольку они не участвуют в проверке.
|
|
|
|
|
|
| тип | пустые значения |
|
|
|
|-------------|---------------------------|
|
|
|
@@ -983,10 +983,10 @@ emptyValuesService.setEmptyValuesOf(DataType.NUMBER, [undefined, null]);
|
|
|
|
|
|
**Методы**
|
|
|
|
|
|
-- [`create(data, filter = undefined)`](#repositorycreate) добавить новый документ;
|
|
|
-- [`replaceById(id, data, filter = undefined)`](#repositoryreplacebyid) заменить весь документ;
|
|
|
+- [`create(data, filter = undefined)`](#repositorycreate) создать новый документ;
|
|
|
+- [`replaceById(id, data, filter = undefined)`](#repositoryreplacebyid) заменить документ полностью;
|
|
|
- [`replaceOrCreate(data, filter = undefined)`](#repositoryreplaceorcreate) заменить или создать новый;
|
|
|
-- [`patchById(id, data, filter = undefined)`](#repositorypatchbyid) частично обновить документ;
|
|
|
+- [`patchById(id, data, filter = undefined)`](#repositorypatchbyid) обновить документ частично;
|
|
|
- [`patch(data, where = undefined)`](#repositorypatch) обновить все документы или по условию;
|
|
|
- [`find(filter = undefined)`](#repositoryfind) найти все документы или по условию;
|
|
|
- [`findOne(filter = undefined)`](#repositoryfindone) найти первый документ или по условию;
|