SDK
SDK C++ v1.x
1

You are currently looking at the documentation of a previous version of Kuzzle. We strongly recommend that you use the latest version. You can also use the version selector in the top menu.

This SDK has been deprecated because of stability issues. It is not advised to use it in a production environment.

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).

Signature #

std::string createOrReplace(
    const std::string& index,
    const std::string& collection,
    const std::string& id,
    const std::string& document);

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

Arguments #

ArgumentTypeDescription
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 body of the document
options
kuzzleio::query_options*
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
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.

PropertyTypeDescription
_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 created document
result
string
Set to created in case of success

Exceptions #

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

Usage #

try {
  std::string response = kuzzle->document->createOrReplace(
    "nyc-open-data",
    "yellow-taxi",
    "some-id",
    R"({"lastName": "McHan"})");
  std::cout << response << std::endl;
  /*
  {
    "_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
      }
    }
  }
  */
  std::cout << "Document successfully created" << std::endl;
} catch (kuzzleio::KuzzleException& e) {
  std::cerr << e.what() << std::endl;
}