Browse Source

chore: updates README.md

e22m4u 2 years ago
parent
commit
46cedaf3d3
1 changed files with 48 additions and 0 deletions
  1. 48 0
      README.md

+ 48 - 0
README.md

@@ -67,6 +67,54 @@ const schema = new Schema();
 - `defineModel(modelDef: object): this` - добавить модель
 - `getRepository(modelName: string): Repository` - получить репозиторий
 
+Далее определяется источник данных в котором указывается уникальное
+название и используемый адаптер.
+
+```js
+schema.defineDatasource({
+  name: 'myMemory', // название нового источника
+  adapter: 'memory', // выбранный адаптер
+});
+```
+
+После определения источника можно добавить модель данных, которая описывает
+структуру документа. Представим коллекцию `city` с двумя полями, где строковое
+поле `name` в качестве названия города и `population` как объем его населения.
+
+```js
+schema.defineModel({
+  name: 'city', // название модели
+  datasource: 'myMemory', // выбранный источник
+  properties: {
+    name: DataType.STRING, // поле типа "string"
+    population: DataType.NUMBER, // поле типа "number"
+  },
+});
+```
+
+Модель гарантирует, что тип указанных полей будет проверен перед записью
+в коллекцию. Осталось получить репозиторий данной модели для чтения и записи
+документов.
+
+```js
+// получаем репозиторий модели "city"
+const cityRep = schema.getRepository('city');
+
+// добавляем новый документ
+const city = await cityRep.create({
+  name: 'Moscow',
+  population: 11980000,
+});
+
+// выводим результат
+console.log(city);
+// {
+//   "id": 1,
+//   "name": "Moscow",
+//   "population": 11980000
+// }
+```
+
 ## Источник данных
 
 Источник определяет используемый адаптер и его настройки, которые передаются