CreateOrReplace #
Creates a new document in the persistent data storage, or replaces its content if it already exists.
The optional parameter refresh can be used with the value wait_for in order to wait for the document to be indexed (indexed documents are available for search).
Arguments #
CreateOrReplace(
index string,
collection string,
_id string,
document json.RawMessage,
options types.QueryOptions) (json.RawMessage, error)| Argument | Type | Description |
|---|---|---|
index | string | Index name |
collection | string | Collection name |
id | string | Document ID |
document | json.RawMessage | Document content |
options | types.QueryOptions | A struct containing query options |
options #
Additional query options
| Option | Type (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) |
Return #
Returns a json.RawMessage containing the document creation result.
| Name | Type | Description |
|---|---|---|
| _id | string | Newly created document ID |
| _version | int | Version of the document in the persistent data storage |
| _source | object | The created document |
| result | string | Set to created in case of success and updated if the document already exists |
Usage #
response, err := kuzzle.Document.CreateOrReplace(
"nyc-open-data",
"yellow-taxi",
"some-id",
json.RawMessage(`{"lastName": "McHan"}`),
nil)
if err != nil {
log.Fatal(err)
} else {
fmt.Println(string(response))
/*
{
"_index": "nyc-open-data",
"_type": "yellow-taxi",
"_id": "some-id",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"created": true,
"_source": {
"lastName": "McHan",
"_kuzzle_info": {
"author": "-1",
"createdAt": 1537445737667,
"updatedAt": null,
"updater": null,
"active": true,
"deletedAt": null
}
}
}
*/
fmt.Println("Success")
}