2010-11-09 27 views
8

Tôi mới sử dụng android và couchdb. Vì vậy, tôi cần một hướng dẫn về làm thế nào tôi có thể cập nhật một lĩnh vực trong couchdb trong Android. Tôi đã thử curl thông qua giao diện điều khiển nó hoạt động tốt nhưng programatically tôi không hiểu làm thế nào để cập nhật một lĩnh vực cụ thể nói 'tên'. Đây là đoạn trích cập nhật tài liệu trong couchdb hoạt động tốt và trả lại cho tôi id bản sửa đổi được cập nhật ...Cách cập nhật bản ghi/trường của tài liệu trong 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

tôi sẽ cung cấp cho bạn một 1 nếu bạn chỉ cần chọn một tiêu đề tốt hơn (ví dụ: thêm "cập nhật một phần" và loại bỏ "Android"). Điều này không liên quan gì đến Android. – user359996

Trả lời

12

Cập nhật một phần không được CouchDB hỗ trợ. Nói cách khác, để cập nhật một trường trong tài liệu, bạn phải cập nhật trường trong tài liệu JSON cục bộ của bạn và đẩy tài liệu đó vào CouchDB nói chung.

Bạn có thể thực hiện điều này bằng cách vẫn phát hành một HTTP PUT, đảm bảo _rev thích hợp được bao gồm trong tài liệu của bạn.

Chi tiết khác có sẵn in the wiki.

+0

Xin cảm ơn Ryan đã cảm ơn vì đã hướng dẫn tôi đã cố gắng cập nhật tài liệu JSON documnet cục bộ trong trường hợp của tôi, tôi đã làm jsonDoc.put ("name", "value"); và sau đó bởi httpPutRequest.setEntity (body); nó cập nhật hồ sơ. – Jitesh

+0

Vui vì tôi có thể giúp đỡ. :-) –

Các vấn đề liên quan