mUpdate #
Updates multiple documents.
Conflicts may occur if the same document gets updated multiple times within a short timespan in a database cluster.
You can set the retryOnConflict
optional argument (with a retry count), to tell Kuzzle to retry the failing updates the specified amount of times before rejecting the request with an error.
mUpdate(index, collection, documents, [options]);
Argument | Type | Description |
---|---|---|
index | string | Index name |
collection | string | Collection name |
documents | object[] | Array of documents to update |
options | object | Query options |
Options #
Additional query options
Options | Type (default) | Description |
---|---|---|
queuable | boolean ( 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) |
retryOnConflict | int ( 0 ) | The number of times the database layer should retry in case of version conflict |
silent | boolean ( false ) | If true , then Kuzzle will not generate notifications Available since 7.5.3 |
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 updated 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 |
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 #
const doc1 = { capacity: 4 };
const doc2 = { capacity: 7 };
try {
await kuzzle.document.create('nyc-open-data', 'yellow-taxi', doc1, 'some-id');
await kuzzle.document.create('nyc-open-data', 'yellow-taxi', doc2, 'some-other-id');
const documents = [
{
_id: 'some-id',
body: { category: 'sedan' }
},
{
_id: 'some-other-id',
body: { category: 'limousine' }
}
];
const response = await kuzzle.document.mUpdate(
'nyc-open-data',
'yellow-taxi',
documents
);
console.log(response);
/*
{ successes:
[ { _id: 'some-id',
_source: { _kuzzle_info: [Object], category: 'sedan' },
_version: 2,
result: 'updated',
created: false,
status: 200 },
{ _id: 'some-other-id',
_source: { _kuzzle_info: [Object], category: 'limousine' },
_version: 2,
result: 'updated',
created: false,
status: 200 } ],
errors: [] }
*/
console.log('Success');
} catch (error) {
console.error(error.message);
}
Edit this page on Github(opens new window)