Browse Source

chore: updates README.md

e22m4u 2 years ago
parent
commit
face76544c
1 changed files with 40 additions and 16 deletions
  1. 40 16
      README.md

+ 40 - 16
README.md

@@ -119,27 +119,35 @@ schema.defineModel({
 });
 ```
 
+**Название модели и коллекции**
+
 Название модели должно быть уникальным, так как оно используется
-для определения отношений к другим моделям, и для названия таблицы
-в базе данных. При необходимости можно явно задать название таблицы
-параметром `tableName`, если оно не соответствует названию модели.
+для определения связей и соответствует названию коллекции в базе.
+При необходимости можно явно задать название коллекции параметром
+`tableName`, если оно не соответствует названию модели.
+
+```js
+schema.defineModel({
+  name: 'city', // название модели
+  tableName: 'CITIES', // название коллекции
+});
+```
+
+**Источник данных**
 
 Если модель отражает реальную коллекцию базы, а не является частью другой,
-то указывая параметр `datasource` появляется возможность получить репозиторий
-этой модели (см. [Репозиторий](#Репозиторий)), с помощью которого выполняются
-операции чтения и записи в базу.
+то указывая название источника данных в параметре `datasource` появляется
+возможность получить репозиторий для этой модели (см. [Репозиторий](#Репозиторий)).
 
 ```js
 schema.defineModel({
   name: 'city',
-  datasource: 'myMemory', // выбранный источник
-  properties: {
-    name: DataType.STRING,
-    population: DataType.NUMBER,
-  },
+  datasource: 'myDatasource', // выбранный источник
 });
 ```
 
+**Поля документа**
+
 Параметр `properties` принимает объект, ключи которого являются именами
 полей, а значением тип поля или объект с дополнительными параметрами.
 Эти настройки используются для проверки данных перед сохранением в базу
@@ -148,21 +156,37 @@ schema.defineModel({
 ```js
 schema.defineModel({
   name: 'city',
-  datasource: 'myMemory',
   properties: {
     name: DataType.STRING,
-    population: { // расширенные параметры
-      type: DataType.NUMBER, // тип значения
-      default: 0, // значение по умолчанию
-    },
+    population: DataType.NUMBER,
   },
 });
 ```
 
+**Наследование**
+
 Модель может наследовать поля и связи используя параметр `base`, куда
 передается название базовой модели. При этом наследуемые настройки можно
 переопределять не затрагивая родителя.
 
+```js
+// базовая модель "area"
+schema.defineModel({
+  name: 'area',
+  properties: {
+    name: DataType.STRING,
+    population: DataType.NUMBER,
+  },
+});
+
+// модель "city" наследует от модели
+// "area" поля "name" и "population"
+schema.defineModel({
+  name: 'city',
+  base: 'area',
+});
+```
+
 #### Параметры модели
 
 - `name: string` название модели (обязательно)