|
|
@@ -33,7 +33,7 @@
|
|
|
npm install @e22m4u/js-repository
|
|
|
```
|
|
|
|
|
|
-Опционально устанавливаем адаптер.
|
|
|
+Опционально устанавливается нужный адаптер.
|
|
|
|
|
|
| | описание |
|
|
|
|-----------|--------------------------------------------------------------------------------------------------------------------------------|
|
|
|
@@ -1137,27 +1137,33 @@ const res = await rep.find({
|
|
|
|
|
|
## Связи
|
|
|
|
|
|
-Параметр `relations` находится в определении модели и принимает
|
|
|
-объект, ключ которого является названием связи, а значением объект
|
|
|
-с параметрами.
|
|
|
+Связи позволяют описывать отношения между моделями, что дает возможность
|
|
|
+автоматически встраивать связанные данные с помощью опции `include`
|
|
|
+в методах репозитория.
|
|
|
|
|
|
-**Параметры**
|
|
|
+Параметр `relations` в определении модели принимает объект, где ключ является
|
|
|
+названием связи, а значение - объект с параметрами.
|
|
|
+
|
|
|
+**Общие параметры**
|
|
|
+
|
|
|
+- `type: string` тип связи (обязательно);
|
|
|
+- `model: string` название целевой модели;
|
|
|
+- `foreignKey: string` свойство текущей модели для идентификатора цели;
|
|
|
+
|
|
|
+**Полиморфный режим**
|
|
|
|
|
|
-- `type: string` тип связи
|
|
|
-- `model: string` название целевой модели
|
|
|
-- `foreignKey: string` свойство текущей модели для идентификатора цели
|
|
|
-- `polymorphic: boolean|string` объявить связь полиморфной*
|
|
|
-- `discriminator: string` свойство текущей модели для названия целевой*
|
|
|
+- `polymorphic: boolean|string` объявление полиморфной связи;
|
|
|
+- `discriminator: string` свойство текущей модели для названия цели;
|
|
|
|
|
|
*i. Полиморфный режим позволяет динамически определять целевую модель
|
|
|
по ее названию, которое хранит документ в свойстве-дискриминаторе.*
|
|
|
|
|
|
**Тип связи**
|
|
|
|
|
|
-- `belongsTo` - текущая модель содержит свойство для идентификатора цели
|
|
|
-- `hasOne` - обратная сторона `belongsTo` по принципу "один к одному"
|
|
|
-- `hasMany` - обратная сторона `belongsTo` по принципу "один ко многим"
|
|
|
-- `referencesMany` - документ содержит массив с идентификаторами целевой модели
|
|
|
+- `belongsTo` - текущая модель содержит свойство для идентификатора цели;
|
|
|
+- `hasOne` - обратная сторона `belongsTo` по принципу "один к одному";
|
|
|
+- `hasMany` - обратная сторона `belongsTo` по принципу "один ко многим";
|
|
|
+- `referencesMany` - документ содержит массив с идентификаторами целевой модели;
|
|
|
|
|
|
**Примеры**
|
|
|
|