SDK
SDK Javascript v7.x
2

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.


Copied to clipboard!
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

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 #

Copied to clipboard!
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);
}