Since Kuzzle 1.0.0

Test for the existence of a key in an object, or of a scalar in an array.


Since Koncorde 1.2, the exists syntax is as follows:

exists: 'nested.field.path' (see nested field syntax)

exists: 'nested.array[value]' (see array value syntax)

The following syntax is deprecated since Koncorde 1.2, and supported for backward compatibility only:

exists: { field: 'nested.field.path' }


Given the following documents:

  firstName: 'Grace',
  lastName: 'Hopper',
  city: 'NYC',
  hobby: ['compiler', 'COBOL'],
  alive: false
  firstName: 'Ada',
  lastName: 'Lovelace',
  city: 'London',
  hobby: ['programming', 'algorithm']

The following filter validates the first document:

  exists: 'alive'

And this filter validates the second document:

  exists: 'hobby["algorithm"]'