create #
Creates a new document in the persistent data storage.
Throws an error if the document 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 create(
const std::string& index,
const std::string& collection,
const std::string& id,
const std::string& document);
std::string create(
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. Will use an auto-generated id if not specified |
document | const std::string& | JSON string representing the body of 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 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;
response = kuzzle->document->create(
"nyc-open-data",
"yellow-taxi",
"some-id",
R"({"lastName": "Eggins"})");
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": "Eggins",
"_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;
}