mWrite #
Available since 6.2.0
Available since Kuzzle 1.8.0
Creates or replaces multiple documents directly into the storage engine.
This is a low level route intended to bypass Kuzzle actions on document creation, notably:
- check document validity,
- add kuzzle metadata,
- trigger realtime notifications (unless asked otherwise)
mWrite (index, collection, documents, [options])| Argument | Type | Description |
|---|---|---|
index | string | Index name |
collection | string | Collection name |
documents | object[] | Array of objects representing the documents |
options | object | Query options |
documents #
An array of objects. Each object describes a document to create or replace, by exposing the following properties:
_id: document unique identifier (optional)body: document content
options #
Additional query options
| Property | Type (default) | Description |
|---|---|---|
queuable | boolean ( true) | If true, queues the request during downtime, until connected to Kuzzle again |
notify | boolean ( false) | if set to true, Kuzzle will trigger realtime notifications |
refresh | string ( "") | If set to wait_for, waits for the change to be reflected for search (up to 1s) |
timeout | number ( -1) | Time (in ms) during which a request will still be waited to be resolved. Set it -1 if you want to wait indefinitely |
triggerEvents | boolean ( false) | If set to true, will trigger events even if using Embeded SDK. You should always ensure that your events/pipes does not create an infinite loop. Available since Kuzzle 2.31.0 |
Resolves #
Returns an object containing 2 arrays: successes and errors
Each created or replaced document is an object of the successes array with the following properties:
| Name | Type | Description |
|---|---|---|
_id | string | Document ID |
_version | number | Version of the document in the persistent data storage |
_source | object | Document content |
created | boolean | True if the document was created |
Each errored document is an object of the errors array with the following properties:
| Name | Type | Description |
|---|---|---|
document | object | Document that cause the error |
status | number | HTTP error status |
reason | string | Human readable reason |
Usage #
try {
const documents = [
{
_id: 'panipokari',
body: {
licence: 'B',
_kuzzle_info: { creator: 'bahi', createdAt: 746186305 }
}
},
{
body: {
licence: 'B',
_kuzzle_info: { creator: 'dahi', createdAt: 835005505 }
}
}
];
const result = await kuzzle.bulk.mWrite(
'nyc-open-data',
'yellow-taxi',
documents
);
console.log(result);
/*
{ successes:
[ { _id: 'panipokari',
created: true,
_version: 1,
_source: {
"licence": "B",
"_kuzzle_info": {
"creator": "bahi",
"createdAt": 746186305 } },
_version: 1 },
{ _id: 'AWvlrMIZE7sKlamkyoHr',
created: true,
_version: 1,
_source: {
"licence": "B",
"_kuzzle_info": {
"creator": "dahi",
"createdAt": 835005505 } },
_version: 1 } ],
errors: [] }
*/
console.log(`Document creator is ${result.successes[1]._source._kuzzle_info.creator}`);
} catch (error) {
console.error(error.message);
}