SDK
SDK Javascript v7.x
2

upsert #

Available since Kuzzle 2.8.0
Available since 7.5.0

Applies partial changes to a document. If the document doesn't already exist, a new document is created.

Copied to clipboard!
upsert(index, collection, id, changes, [options]);
Argument Type Description
index
string
Index name
collection
string
Collection name
id
string
Document ID
changes
object
Partial content of the document to update

Options #

Additional query options

Options Type
(default)
Description
default
object

({})
Fields to add to the document if it gets created
refresh
string

("")
If set to wait_for, waits for the change to be reflected for search (up to 1s)
retryOnConflict
int

(10)
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
source
boolean

(false)
If true, returns the updated document inside the response
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

Resolves #

Resolves to an object containing the document update result.

Usage #

Copied to clipboard!
try {
  await kuzzle.document.create(
    'nyc-open-data',
    'yellow-taxi',
    { capacity: 4 },
    'some-id'
  );
  const response = await kuzzle.document.upsert(
    'nyc-open-data',
    'yellow-taxi',
    'some-id',
    { changes: { category: 'suv' } }
  );
  console.log(response);
  /*
  {
    id: 'some-id',
    _version: 2
  }
  */
} catch (error) {
  console.error(error.message);
}