replace

Replaces the content of an existing document.

Signature

Copied to clipboard!
std::string replace(
    const std::string& index,
    const std::string& collection,
    const std::string& id,
    const std::string& document);

std::string replace(
    const std::string& index,
    const std::string& collection,
    const std::string& id,
    const std::string& document,
    const kuzzleio::query_options& options);

Arguments

Argument Type Description
index
const std::string&
Index name
collection
const std::string&
Collection name
id
const std::string&
Document ID
document
const std::string&
JSON string representing the document
options
kuzzleio::query_options*
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
const std::string&
("")
If set to wait_for, waits for the change to be reflected for search (up to 1s)

Return

A JSON string representing an object containing the document creation result.

Property Type Description
_id
string
ID of the newly created document
_version
number
Version of the document in the persistent data storage
_source
object
JSON string representing the replaced document
result
string
Set to replaced in case of success

Exceptions

Throws a kuzzleio::KuzzleException if there is an error. See how to handle errors.

Usage

Copied to clipboard!
try {
  kuzzle->document->create(
    "nyc-open-data",
    "yellow-taxi",
    "some-id",
    R"({"color": "yellow"})");

  std::string response = kuzzle->document->replace(
    "nyc-open-data",
    "yellow-taxi",
    "some-id",
    R"({
      "capacity": 4,
      "category": "sedan"
    })");

  std::cout << response << std::endl;
  /*
  {
    "_index": "nyc-open-data",
    "_type": "yellow-taxi",
    "_id": "some-id",
    "_version": 2,
    "result": "updated",
    "_shards": {
      "total": 2,
      "successful": 1,
      "failed": 0
    },
    "created": false,
    "_source": {
      "capacity": 4,
      "category": "sedan",
      "_kuzzle_info": {
        "author": "-1",
        "createdAt": 1538641029988,
        "updatedAt": 1538641029988,
        "updater": "-1",
        "active": true,
        "deletedAt": null
      }
    }
  }
  */
  std::cout << "Document successfully replaced" << std::endl;
} catch (kuzzleio::KuzzleException& e) {
  std::cerr << e.what() << std::endl;
}