Учебники

CouchDB — Обновление документа

Вы можете обновить документ в 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 . Вы получите список документов в базе данных, как показано ниже.

Обновить документ

Выберите документ, который вы хотите обновить, и щелкните по нему. Вы получите содержимое документов, как показано ниже.

Содержание документа

Здесь, чтобы обновить местоположение от Дели до Хайдарабада, нажмите на текстовое поле, отредактируйте поле и нажмите зеленую кнопку, чтобы сохранить изменения, как показано ниже.