Как сделать частичное обновление документа - PullRequest
11 голосов
/ 09 ноября 2010

Мне нужно руководство, как я могу обновить поле в CouchDB.Я попробовал curl через консоль, она работает нормально, но программно.Я не понимаю, как обновить конкретное поле, скажем «имя».Вот фрагмент обновления документа в CouchDB, который работает нормально и возвращает мне обновленный идентификатор ревизии.

HttpPut httpPutRequest = new HttpPut(hostUrl +"/"+ docId);
StringEntity body = new StringEntity(jsonDoc.toString());
httpPutRequest.setEntity(body);

httpPutRequest.setHeader("Accept", "application/json");
httpPutRequest.setHeader("Content-type", "application/json");

Ответы [ 2 ]

19 голосов
/ 10 ноября 2010

Частичные обновления не поддерживаются CouchDB. Другими словами, чтобы обновить поле в документе, необходимо обновить поле в локальном документе JSON и передать этот документ в CouchDB в целом.

Вы можете сделать это, продолжая выдавать HTTP PUT, гарантируя, что соответствующий _rev включен в ваш документ.

Более подробная информация доступна в вики .

5 голосов
/ 05 января 2017

Возможно поддерживать частичные обновления, написав собственную функцию обновления .

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