Browse Source

chore: updates README.md

e22m4u 2 years ago
parent
commit
3961e3802c
1 changed files with 47 additions and 0 deletions
  1. 47 0
      README.md

+ 47 - 0
README.md

@@ -276,6 +276,53 @@ console.log(result);
 // }
 ```
 
+#### replaceOrCreate(data, filter = undefined)
+
+Если вы знакомы с методом PUT в архитектуре REST-api, когда документ
+добавляется, если его не существовало, или же обновляется существующий,
+то `replaceOrCreate` работает схожим образом. Если параметр
+`data` передаваемый первым аргументом будет содержать идентификатор,
+то метод будет вести себя как `replaceById`, в противном случае будет
+создан новый документ.
+
+```js
+// {
+//   "id": 1,
+//   "name": "Terminal 21 Shopping Mall",
+//   "address": "Sukhumvit 19 Alley"
+// }
+const result = rep.replaceOrCreate({
+  id: 1,
+  name: 'Department of Agriculture',
+  contact: 'Dennis Crow'
+});
+
+console.log(result);
+// {
+//   "id": 1,
+//   "name": "Department of Agriculture",
+//   "contact": "Dennis Crow"
+// }
+```
+
+В примере выше был передан первичный ключ `id` для поиска и
+замены существующего документа. Теперь рассмотрим создание
+нового документа.
+
+```js
+const result = rep.replaceOrCreate({
+  term: 'Summer',
+  year: 2024,
+});
+
+console.log(result);
+// {
+//   "id": 2,
+//   "term": "Summer",
+//   "year": 2024,
+// }
+```
+
 #### patchById(id, data, filter = undefined)
 
 В отличие от `replaceById`, данный метод не удаляет поля, которые