Как сделать частичное обновление документа
Мне нужно руководство, как я могу обновить поле в 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");
Ответы
Ответ 1
Частичные обновления не поддерживаются CouchDB. Другими словами, чтобы обновить поле в документе, вы должны обновить это поле в своем локальном документе JSON и перенести этот документ на CouchDB в целом.
Вы можете выполнить это, все еще выдав HTTP PUT, гарантируя, что соответствующий _rev включен в ваш документ.
Более подробная информация доступна в вики.
Ответ 2
Можно поддержать частичные обновления, написав собственную функцию обновления.