update #
Updates a document content.
Conflicts may occur if the same document gets updated multiple times within a short timespan, in a database cluster. You can set the retryOnConflict
optional argument (with a retry count), to tell Kuzzle to retry the failing updates the specified amount of times before rejecting the request with an error.
Arguments #
String update(String index, String collection, String id, String document)
String update(
String index,
String collection,
String id,
String document,
io.kuzzle.sdk.QueryOptions options
)
Argument | Type | Description |
---|---|---|
index | String | Index name |
collection | String | Collection name |
id | String | Document ID |
body | String | A JSON string containing the body of the document |
options | io.kuzzle.sdk.QueryOptions | Query options |
options #
Option | Type (default) | Description |
---|---|---|
queuable | boolean ( true ) | If true, queues the request during downtime, until connected to Kuzzle again |
refresh | String ( "" ) | If set to wait_for , waits for the change to be reflected for search (up to 1s) |
retryOnConflict | int( 0 ) | The number of times the database layer should retry in case of version conflict |
Return #
Returns a JSON string containing the document update result.
Name | Type | Description |
---|---|---|
_id | string | The id of the newly created document |
_version | int | The version of the document in the persistent data storage |
result | string | set to updated in case of success |
Exceptions #
Throws a io.kuzzle.sdk.KuzzleException
if there is an error. See how to handle error.
Usage #
String doc = "{\"capacity\": 4}";
try {
kuzzle.getDocument().create("nyc-open-data", "yellow-taxi", "some-id", doc);
String response = kuzzle.getDocument().update(
"nyc-open-data",
"yellow-taxi",
"some-id",
"{\"category\": \"suv\"}"
);
System.out.println(response);
/*
{
"_index": "nyc-open-data",
"_type": "yellow-taxi",
"_id": "some-id",
"_version": 2,
"result": "updated",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
}
}
*/
} catch (KuzzleException e) {
System.err.println(e.getMessage());
}