Вы можете обновить документ в CouchDB, отправив HTTP-запрос на сервер, используя метод PUT через утилиту cURL. Ниже приводится синтаксис для обновления документа.
curl -X PUT http://127.0.0.1:5984/database_name/document_id/ -d '{ "field" : "value", "_rev" : "revision id" }'
пример
Предположим, что в базе данных есть документ с идентификатором 001 с именем my_database. Вы можете удалить это, как показано ниже.
Прежде всего, получите идентификатор редакции документа, который должен быть обновлен. Вы можете найти _rev документа в самом документе, поэтому получите документ, как показано ниже.
$ curl -X GET http://127.0.0.1:5984/my_database/001 { "_id" : "001", "_rev" : "2-04d8eac1680d237ca25b68b36b8899d3 " , "age" : "23" }
Используйте идентификатор редакции _rev из документа, чтобы обновить документ. Здесь мы обновляем возраст с 23 до 24 лет.
$ curl -X PUT http://127.0.0.1:5984/my_database/001/ -d ' { " age " : " 24 " , " _rev " : " 1-1c2fae390fa5475d9b809301bbf3f25e " } ' { " ok " : true , " id " : " 001 " , " rev " : " 2-04d8eac1680d237ca25b68b36b8899d3 " }
верификация
Чтобы проверить документ, получите документ снова, используя запрос GET, как показано ниже.
$ curl -X GET http://127.0.0.1:5984/my_database/001 { " _id " : " 001 ", " _rev " : " 2-04d8eac1680d237ca25b68b36b8899d3 " , " age " : " 23 " }
Заметка
Ниже приведены некоторые важные моменты, которые следует отметить при обновлении документа.
-
URL-адрес, который мы отправляем в запросе, содержащий имя базы данных и идентификатор документа.
-
Обновление существующего документа аналогично обновлению всего документа. Вы не можете добавить поле в существующий документ. Вы можете записать в базу данных только новую версию документа с тем же идентификатором документа.
-
Мы должны предоставить номер ревизии как часть запроса JSON.
-
В свою очередь, JSON содержит сообщение об успехе, идентификатор обновляемого документа и информацию о новой редакции. Если вы хотите обновить новую версию документа, вы должны указать этот последний номер редакции.
URL-адрес, который мы отправляем в запросе, содержащий имя базы данных и идентификатор документа.
Обновление существующего документа аналогично обновлению всего документа. Вы не можете добавить поле в существующий документ. Вы можете записать в базу данных только новую версию документа с тем же идентификатором документа.
Мы должны предоставить номер ревизии как часть запроса JSON.
В свою очередь, JSON содержит сообщение об успехе, идентификатор обновляемого документа и информацию о новой редакции. Если вы хотите обновить новую версию документа, вы должны указать этот последний номер редакции.
Обновление документов с помощью Futon
Чтобы удалить документ, откройте http://127.0.0.1:5984/_utils/ url, чтобы получить обзорную / индексную страницу CouchDB, как показано ниже.
Выберите базу данных, в которой существует обновляемый документ, и щелкните по ней. Здесь мы обновляем документ в базе данных с именем tutorials_point . Вы получите список документов в базе данных, как показано ниже.
Выберите документ, который вы хотите обновить, и щелкните по нему. Вы получите содержимое документов, как показано ниже.
Здесь, чтобы обновить местоположение от Дели до Хайдарабада, нажмите на текстовое поле, отредактируйте поле и нажмите зеленую кнопку, чтобы сохранить изменения, как показано ниже.