Browse Source

chore: updates README.md

e22m4u 2 years ago
parent
commit
8be1783f6e
1 changed files with 39 additions and 97 deletions
  1. 39 97
      README.md

+ 39 - 97
README.md

@@ -211,7 +211,6 @@ const rep = schema.getRepository('place');
 
 - `create(data, filter = undefined)`
 - `replaceById(id, data, filter = undefined)`
-- `replaceOrCreate(data, filter = undefined)`
 - `patch(data, where = undefined)`
 - `patchById(id, data, filter = undefined)`
 - `find(filter = undefined)`
@@ -224,132 +223,75 @@ const rep = schema.getRepository('place');
 
 #### create(data, filter = undefined)
 
-Создадим торговую точку методом `create` используя репозиторий из примера
-выше. Метод возвращает документ, который был записан в базу, включая присвоенный
дентификатор.
+Метод `create` добавляет новый документ в коллекцию и возвращает записанные
+данные. Первый аргумент должен являться объектом и соответствовать модели
спользуемого репозитория.
 
-```js
-const place = await rep.create({
-  "name": "Burger King",
-  "location": {
-    "lat": 32.412891,
-    "lng": 34.7660061
-  },
+````js
+const rick = await rep.create({
+  name: 'Rick Sanchez',
+  dimension: 'C-137',
+  age: 67,
 });
 
-console.log(place);
+console.log(rick);
 // {
-//   "id": 1,
-//   "name": "Burger King",
-//   "location": {
-//     "lat": 32.412891,
-//     "lng": 34.7660061
-//   }
+//   id: 1,
+//   name: 'Rick Sanchez',
+//   dimension: 'C-137',
+//   age: 67,
 // }
-```
+````
 
 #### replaceById(id, data, filter = undefined)
 
-Добавленный в базу документ можно полностью заменить зная его идентификатор.
-Воспользуемся методом `replaceById`, который перезапишет данные по значению
-первичного ключа.
+Метод `replaceById` находит документ по идентификатору и перезаписывает
+его данными из второго аргумента. Если существующий документ не найден, 
+то будет выброшено исключение.
 
 ```js
 // {
-//   "id": 1,
-//   "name": "Burger King",
-//   "location": {
-//     "lat": 32.412891,
-//     "lng": 34.7660061
-//   }
+//   id: 1,
+//   name: 'Rick Sanchez',
+//   dimension: 'C-137',
+//   age: 67,
 // }
-const result = rep.replaceById(place.id, {
-  name: 'Starbucks',
-  address: 'Sukhumvit Alley'
+const morty = await rep.replaceById(1, {
+  name: 'Morty Smith',
+  age: 14,
 });
 
-console.log(result);
-// {
-//   "id": 1,
-//   "name": "Starbucks",
-//   "address": "Sukhumvit Alley"
-// }
-```
-
-#### replaceOrCreate(data, filter = undefined)
-
-Если вы знакомы с методом PUT в архитектуре REST, когда документ
-добавляется, если его не существовало, или же обновляется существующий,
-то `replaceOrCreate` работает схожим образом. Если параметр
-`data` передаваемый первым аргументом будет содержать идентификатор,
-то метод будет вести себя как `replaceById`, в противном случае будет
-создан новый документ.
-
-```js
+console.log(morty);
 // {
-//   "id": 1,
-//   "name": "Starbucks",
-//   "address": "Sukhumvit Alley"
-// }
-const result = rep.replaceOrCreate({
-  id: 1,
-  name: 'Airport',
-  city: 'Antalya',
-  code: 'AYT'
-});
-
-console.log(result);
-// {
-//   "id": 1,
-//   "name": "Airport",
-//   "city": "Antalya"
-//   "code": "AYT"
-// }
-```
-
-В примере выше был передан первичный ключ `id` для поиска и
-замены существующего документа. Теперь рассмотрим создание 
-документа с новым идентификатором.
-
-```js
-const result = rep.replaceOrCreate({
-  name: 'Airport',
-  city: 'Bangkok',
-  code: 'BKK',
-});
-
-console.log(result);
-// {
-//   "id": 2,
-//   "name": "Airport",
-//   "city": "Bangkok",
-//   "code": "BKK"
+//   id: 1,
+//   name: 'Morty Smith',
+//   age: 14,
 // }
 ```
 
 #### patchById(id, data, filter = undefined)
 
-В отличие от `replaceById`, данный метод не удаляет поля, которые
-не были переданы, что позволяет обновить только часть документа,
-не затрагивая другие данные.
+Метод `patchById` находит документ по идентификатору и выполняет его частичное
+обновление данными из второго аргумента. В отличие от `replaceById`, данный
+метод не удаляет поля, которые не были переданы.
 
 ```js
 // {
 //   "id": 2,
-//   "name": "Airport",
-//   "city": "Bangkok",
-//   "code": "BKK"
+//   "type": "airport",
+//   "name": "Domodedovo Airport",
+//   "code": "DME"
 // }
-const result = rep.patchById(place.id, {
-  city: 'Moscow',
+const airport = await rep.patchById(2, {
+  name: 'Sheremetyevo Airport',
   code: 'SVO'
 });
 
-console.log(result);
+console.log(airport);
 // {
 //   "id": 2,
-//   "name": "Airport",
-//   "city": "Moscow",
+//   "type": "airport",
+//   "name": "Sheremetyevo Airport",
 //   "code": "SVO"
 // }
 ```