SDK
SDK Golang v3.x
2

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 #

Update(
  index string,
  collection string,
  id string,
  document json.RawMessage,
  options types.QueryOptions) (json.RawMessage, error)

ArgumentTypeDescription
index
string
Index name
collection
string
Collection name
id
string
Document ID
document
string
Document body
options
types.QueryOptions
A struct containing query options

options #

Additional query options

OptionType
(default)
Description
Queuable
bool

(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)
Number of times the database layer should retry in case of version conflict

Return #

Returns a json.RawMessage containing the document update result.

NameTypeDescription
_id
string
Newly created document ID
_versionintVersion of the document in the persistent data storage
result
string
Set to updated in case of success

Usage #

kuzzle.Document.Create(
  "nyc-open-data",
  "yellow-taxi",
  "some-id",
  json.RawMessage(`{"capacity": 4}`),
  nil)
response, err := kuzzle.Document.Update(
  "nyc-open-data",
  "yellow-taxi",
  "some-id",
  json.RawMessage(`{"category": "suv"}`),
  nil)
if err != nil {
  log.Fatal(err)
} else {
  fmt.Println(string(response))
  /*
  {
    "_index": "nyc-open-data",
    "_type": "yellow-taxi",
    "_id": "some-id",
    "_version": 2,
    "result": "updated",
    "_shards": {
      "total": 2,
      "successful": 1,
      "failed": 0
    }
  }
  */
}