|
@@ -8,7 +8,7 @@
|
|
|
npm install @e22m4u/js-repository
|
|
npm install @e22m4u/js-repository
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-Опционально устанавливаем адаптер:
|
|
|
|
|
|
|
+Опционально устанавливаем адаптер для базы данных.
|
|
|
|
|
|
|
|
| | описание |
|
|
| | описание |
|
|
|
|-----------|--------------------------------------------------------------------------------------------------------------------------------|
|
|
|-----------|--------------------------------------------------------------------------------------------------------------------------------|
|
|
@@ -58,6 +58,41 @@ flowchart TD
|
|
|
G-->K
|
|
G-->K
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
|
|
+Репозиторий имеет набор методов для различных операций с документами модели.
|
|
|
|
|
+Некоторые из методов позволяют разрешать связи в момент обращения к данным,
|
|
|
|
|
+встраивая документы других моделей в результат выборки.
|
|
|
|
|
+
|
|
|
|
|
+Если модель `city` в своем определении имеет связь `country`, то пример
|
|
|
|
|
+запроса с включением связанных документов методом `find` может выглядеть так:
|
|
|
|
|
+
|
|
|
|
|
+```js
|
|
|
|
|
+const cities = await cityRep.find({
|
|
|
|
|
+ include: 'country', // включить "country" в результат
|
|
|
|
|
+});
|
|
|
|
|
+
|
|
|
|
|
+// [
|
|
|
|
|
+// {
|
|
|
|
|
+// "id": 24,
|
|
|
|
|
+// "name": "Moscow",
|
|
|
|
|
+// "countryId": 12, <= ключ целевой модели
|
|
|
|
|
+// "country": { <= связанный документ
|
|
|
|
|
+// "id": 12,
|
|
|
|
|
+// "name": "Russia",
|
|
|
|
|
+// }
|
|
|
|
|
+// },
|
|
|
|
|
+// {
|
|
|
|
|
+// "id": 25,
|
|
|
|
|
+// "name": "Bangkok",
|
|
|
|
|
+// "countryId": 13, <= ключ целевой модели
|
|
|
|
|
+// "country": { <= связанный документ
|
|
|
|
|
+// "id": 13,
|
|
|
|
|
+// "name": "Thailand",
|
|
|
|
|
+// }
|
|
|
|
|
+// },
|
|
|
|
|
+// ...
|
|
|
|
|
+// ]
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
## Тесты
|
|
## Тесты
|
|
|
|
|
|
|
|
```bash
|
|
```bash
|