Oihana PHP Arango

Bound uses ConstantsTrait

Declaration keys of a **bound** definition (`AQL::BOUNDS`), consumed by {@see BoundsQueryTrait}.

A bound entry is either a bare field name or a keyed definition holding these options. PROPERTY targets the aggregated path; the others exclude values from the MIN / MAX / count aggregate (a common data-quality need — e.g. a 0 that encodes "not filled" must not drag the observed minimum to zero). An excluded value is mapped to null, which MIN / MAX already ignore, so the exclusion is per field — a document dropped from one field's extent still counts for the others. The exclusion options combine with a logical AND.

The permission gate is not declared here: like facets, a bound inherits or carries its Field::REQUIRES on the ield enum.

Tags
since
1.0.0
author

Marc Alcaraz

Table of Contents

Constants

IGNORE  : string = 'ignore'
Sentinel value(s) to exclude from the aggregate — a scalar (`0`) or a list (`[ 0, 5, 15 ]`). Emits `NOT IN [ … ]`.
MAX  : string = 'max'
The upper bound of the **accepted domain**: values above it are excluded (`<value> <= @max`). Note: this is the accepted *input* ceiling, distinct from the observed `max` returned in the output.
MIN  : string = 'min'
The lower bound of the **accepted domain**: values below it are excluded (`<value> >= @min`). Note: this is the accepted *input* floor, distinct from the observed `min` returned in the output.
POSITIVE  : string = 'positive'
When `true`, only strictly positive values enter the aggregate (`<value> > 0`) — the shorthand for the frequent "0 means not filled" case.
PROPERTY  : string = 'property'
The document property targeted by the bound (alias of the bound key, `[*]` array-expansion path accepted).
REQUIRES  : string = 'requires'
The permission subject(s) required to bounds the result — a string or a list (OR semantics), mirroring {@see Field::REQUIRES} for projections.

Constants

IGNORE

Sentinel value(s) to exclude from the aggregate — a scalar (`0`) or a list (`[ 0, 5, 15 ]`). Emits `NOT IN [ … ]`.

public string IGNORE = 'ignore'

MAX

The upper bound of the **accepted domain**: values above it are excluded (`<value> <= @max`). Note: this is the accepted *input* ceiling, distinct from the observed `max` returned in the output.

public string MAX = 'max'

MIN

The lower bound of the **accepted domain**: values below it are excluded (`<value> >= @min`). Note: this is the accepted *input* floor, distinct from the observed `min` returned in the output.

public string MIN = 'min'

POSITIVE

When `true`, only strictly positive values enter the aggregate (`<value> > 0`) — the shorthand for the frequent "0 means not filled" case.

public string POSITIVE = 'positive'

PROPERTY

The document property targeted by the bound (alias of the bound key, `[*]` array-expansion path accepted).

public string PROPERTY = 'property'

REQUIRES

The permission subject(s) required to bounds the result — a string or a list (OR semantics), mirroring {@see Field::REQUIRES} for projections.

public string REQUIRES = 'requires'
On this page

Search results