Update documents Sync Gateway (SOLVED)

I'm trying to update documents: REST API(Http Request) --> Sync Gateway --> Couchbase Server 2.0, like http://docs.couchbase.com/couchbase-lite/cbl-api/#put-dbdoc .

I have tried:

PUT http://[IPServer]:4985/sync_gateway/test_doc?rev=1-4101356e9c47d15d4f8f7390d05dbbcf
Content-Type: application/json
    "description": "Doc Updated"

and also:

PUT http://[IPServer]:4985/sync_gateway/test_doc
Content-Type: application/json
If-Match: 1-4101356e9c47d15d4f8f7390d05dbbcf 
    "description": "Doc Updated"

I've made sure that "ID" and "rev" are correct, but it doesn't work for me. It says:
"error":"conflict" , "reason":"Document exists".

How can I add new data to documents?


Hmmm. Can you copy/paste the full PUT string for us?

Hi jliu,

I Reread my question, and I see I did not explain properly.

In a comment below I think I better explain my question.

Among the things I tried, I tested with a put request, like: http://docs.couchbase.com/couchbase-lite/cbl-api/#put-dbdoc, but it didn't work for me.


2 Answers

« Back to question.

I realized that I was using an earlier version. I upgraded to the new beta 2, and it worked!!

« Back to question.

Assuming you are using the native java API for updating documents with Couchbase Lite, this is an example of how to do this:


If you are using Ektorp or the REST api, it would be a different way and I can provide docs for that too.

Which version of Couchbase Lite are you using? beta1, beta2 or the current master branch on github?

I'm using Ektorp, we would like to do with Ektorp. But after much test, we also tried with REST api and neither could.

I understand that in the GrocerySync example you point me, you update a CBLite document, and CBLite makes a push replication to Couchbase Server.
We would like to update a document in Couchbase Server from, and this document will be replicated to CBLite if the filter allows.

I'm using CBLite beta2 version.

Many thanks for the quick reply.

Sorry, I can't edit the previous comment.

We would like to update a document in Couchbase Server from an app in Android device, and this document will be replicated to CBLite embedded in the app (if the replication filter allows).